Làm thế nào để có được mô hình đối tượng WebBrowser một khung HTML

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:196340
Khước từ Nội dung trong Cơ sở Kiến thức Không còn được hỗ trợ
Bài viết này nói về các sản phẩm mà Microsoft không còn hỗ trợ nữa. Do đó, bài viết này được cung cấp "nguyên bản" và sẽ không được cập nhật.
TÓM TẮT
Có thể các máy chủ điều khiển kỹ thuật tiêu chuẩn WebBrowser chi tiết bài viết nàysử dụng để truy cập vào các mô hình đối tượng WebBrowser của khung cửa sổ trong một trang HTMLbên trong sự kiểm soát. Mô hình đối tượng này cung cấp thêm chức năng mà làkhông được tiếp xúc cho khung cửa sổ thông qua mô hình đối tượng HTML.
THÔNG TIN THÊM
Mã sau đây chứng tỏ làm thế nào để truy cập vào các mô hình đối tượng WebBrowserkhung trong một trang HTML để làm mới nội dung của mỗi khung.

Phần quan trọng nhất của mã sử dụng IOleContainer::EnumObjectsphương thức của đối tượng tài liệu HTML liệt kê embeddings trên trang.Mỗi người trong số những embeddings đại diện cho một điều khiển trên trang. Bởi câu mỗikiểm soát đối tượng cho IWebBrowser2, mã này có thể xác định xem cáckiểm soát là một sub-frame. Và IWebBrowser2 đại diện cho các đối tượng WebBrowserMô hình; Nếu QueryInterface thành công cho giao diện này, kết quả là mộttài liệu tham khảo để WebBrowser Object Model.
// Get the IDispatch of the documentLPDISPATCH lpDisp = NULL;lpDisp = m_webBrowser.GetDocument();if (lpDisp){   IOleContainer* pContainer;   // Get the container   HRESULT hr = lpDisp->QueryInterface(IID_IOleContainer,                                       (void**)&pContainer);   lpDisp->Release();   if (FAILED(hr))      return hr;   IEnumUnknown* pEnumerator;   // Get an enumerator for the frames   hr = pContainer->EnumObjects(OLECONTF_EMBEDDINGS, &pEnumerator);   pContainer->Release();   if (FAILED(hr))      return hr;   IUnknown* pUnk;   ULONG uFetched;   // Enumerate and refresh all the frames   for (UINT i = 0; S_OK == pEnumerator->Next(1, &pUnk, &uFetched); i++)   {      IWebBrowser2* pBrowser;      hr = pUnk->QueryInterface(IID_IWebBrowser2, (void**)&pBrowser);      pUnk->Release();      if (SUCCEEDED(hr))      {         // Refresh the frame         pBrowser->Refresh();         pBrowser->Release();      }   }   pEnumerator->Release();}
Chú ý Điều khiển ActiveX được lưu trữ trong một trang HTML có thể sử dụng kỹ thuật này trong mộtcách tương tự. Nói chung, một điều khiển ActiveX chủ yếu truy cấp các không an toànWebBrowser Object Model là không an toàn cho kịch bản và nên thực hiệnIObjectSafety giao diện cho phù hợp để bảo mật.
(c) tập đoàn Microsoft 1998, tất cả các quyền. Những đóng góp của ScottRoberts, tập đoàn Microsoft.
WebBrowser khung

Thuộc tính

ID Bài viết: 196340 - Xem lại Lần cuối: 08/20/2011 09:40:00 - Bản sửa đổi: 2.0

  • kbfaq kbhowto kbwebbrowser kbmt KB196340 KbMtvi
Phản hồi