現在オフラインです。再接続するためにインターネットの接続を待っています

お使いのブラウザーはサポートされていません

このサイトを利用するには、ブラウザーを更新する必要があります。

Internet Explorer を最新バージョンに更新する

[InetSDK]HTML フレームの WebBrowser オブジェクトモデルを取得する方法

この記事は、以前は次の ID で公開されていました: JP196340
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。
概要
この文書は、HTML ページのフレーム ウィンドウの WebBrowser オブジェクトにアクセスするために使うことができる標準的なテクニックについて詳しく説明しています。
詳細
以下のコードは、各フレームのコンテンツをリフレッシュするために、HTML ページのフレームの WebBrowser オブジェクトモデルにアクセスする方法を示しています。

このコードで最も重要な部分は、ページに埋め込まれているものを列挙するために HTML ドキュメント オブジェクトモデルの IOleContainer::EnumObjects メソッドを使用していることです。それぞれ埋め込まれているものはページ内のコントロールを意味します。このコードでは、IWebBrowser2 インターフェイスに対して各コントロールのオブジェクトをクエリーすることによって、コントロールがサブフレームであるかどうかを確認できます。さらに、IWebBrowser2 インターフェイスはそれが WebBrowser オブジェクトモデルであることを意味します(IWebBrowser2 インターフェイスに対する QueryInterface が成功することで、そのコントロールが WebBrowser オブジェクトモデルであることが確認できます)。

サンプル

   // ドキュメントの IDispatch を取得   LPDISPATCH lpDisp = NULL;   lpDisp = m_webBrowser.GetDocument();   if (lpDisp)   {      IOleContainer* pContainer;      // コンテナ取得      HRESULT hr = lpDisp->QueryInterface(IID_IOleContainer,                                          (void**)&pContainer);      lpDisp->Release();      if (FAILED(hr))         return hr;      IEnumUnknown* pEnumerator;      // フレームに対する enumerator を取得      hr = pContainer->EnumObjects(OLECONTF_EMBEDDINGS, &pEnumerator);      pContainer->Release();      if (FAILED(hr))         return hr;      IUnknown* pUnk;      ULONG uFetched;      // すべてのフレームを列挙、リフレッシュする      for (UINT i = 0; S_OK == pEnumerator->Next(1, &pUnk, &uFetched); i++)      {         // IWebBrowser2 の QueryInterface で、         // 埋め込みブラウザ(フレーム)を持っているか確認         IWebBrowser2* pBrowser;         hr = pUnk->QueryInterface(IID_IWebBrowser2, (void**)&pBrowser);         pUnk->Release();         if (SUCCEEDED(hr))         {            // フレームをリフレッシュ            pBrowser->Refresh();            pBrowser->Release();         }      }      pEnumerator->Release();   }
追記:HTML ページにホストされた ActiveX コントロールは、同じような手順でこのテクニックを使うことができます。一般的に、安全でない WebBrowser オブジェクトモデルにアクセスする ActiveX コントロールは、スクリプティングに対して安全ではありません。安全であることを示すために、IObjectSafety インターフェイスをインプリメントする必要があります。
関連情報
サイトビルダーネットワークワークショップ (Site Builder Network Workshop) 内のブラウザテクノロジーの再利用:
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 196340 (最終更新日 1998-12-25) をもとに作成したものです。

WebBrowser Frame
プロパティ

文書番号:196340 - 最終更新日: 04/01/2004 18:08:47 - リビジョン: 4.0

  • Microsoft Internet Explorer (Programming) 5.0, 4.0, 4.01, 4.01sp1, 5.0dp1, 5_beta
  • Microsoft Internet Explorer 4.0 128 ビット版
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • frame iwebbrowsr2 kbhowto webbrowser KB196340
フィードバック
+ (window.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");