您目前已離線,請等候您的網際網路重新連線

如何取得 WebBrowser 物件模型的 HTML 框架

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:196340
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
結論
此發行項的詳細資訊標準技術 WebBrowser 控制項主機可以使用存取 WebBrowser 物件模型的控制項內的 HTML 網頁中的框架視窗。這個物件模型提供額外的功能未公開的框架視窗,透過 HTML 物件模型。
其他相關資訊
下列程式碼會示範如何存取在 HTML 網頁中的框架 WebBrowser 物件模型,以重新整理每個框架的內容。

最重要的程式碼片段會使用 HTML 文件物件 IOleContainer::EnumObjects 方法來列舉內嵌在頁面上。 這些內嵌的每一個代表頁面中的一個控制項。藉由查詢每個控制項物件 IWebBrowser2,這段程式碼可以決定該控制項是否是一個 sub-frame。和 IWebBrowser2 表示 WebBrowser 物件模型,如果這個介面會成功 QueryInterface,結果將是 WebBrowser 物件模型的參考。
// 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();}
附註 在 HTML 網頁中裝載的 ActiveX 控制項可以使用這項技術,以類似的方式。在一般存取不安全的 WebBrowser 物件模型的 ActiveX 控制項不是安全用於指令碼,並且應該據此實作 IObjectSafety 介面的安全性。
(c) [Microsoft Corporation 1998 年,[保留所有的權限]。陳俊銘 Roberts,Microsoft 公司所佔的比重。
WebBrowser 圖文框

內容

文章識別碼:196340 - 最後檢閱時間:05/12/2004 16:07:28 - 修訂: 3.0

Microsoft Internet Explorer (Programming) 6.0

  • kbmt kbfaq kbhowto kbwebbrowser KB196340 KbMtzh
意見反應
= 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("