5

WebBrowser コントロールを使用して Web サイトに移動すると、IE8 の互換性の問題が発生します。奇妙なことに、Web サイトが機能することもありますが、ほとんどの場合、機能しません。時々ページを更新できますが、それも機能します。

IE8 でページに移動しただけで、同じ CSS レンダリングの問題が発生したため、互換モードに切り替えたところ、更新されて正しくレンダリングされました。

WebBrowser コントロールのこの効果をシミュレートする方法はありますか。Internet Explorer でできるように、ボタンをクリックしてモードのオンとオフを切り替えられるようにしたいと考えています。

これは可能ですか?もしそうなら、誰も方法を知っていますか?

ありがとう

4

3 に答える 3

4

WebBrowser レンダリング モードと IE8に関する IEBlog のこの投稿は役に立ちますか? レジストリのキーを使用して、アプリケーションに固有のレンダリング モードを設定する必要があるようです。

于 2010-01-13T08:37:52.540 に答える
4

レジストリ エントリの回答が投稿されていることはわかっているので、別の方法を提案したいと思います。

サイトを所有しており、サイトが実行されているサーバーのアクセス許可を持っていますか? その場合、X-UA-Compatible ヘッダーをサイト/サーバー上のすべてのページに送信するように設定できます。情報と Apache/IIS7 のリンクについては、http: //msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx#Serversを参照してください。

于 2010-01-13T08:41:50.023 に答える
0

IE レジストリ キーの "Internet Feature Controls" を使用して、アプリケーション内に埋め込まれた WebBrowser のレンダリング モードを強制できます。

HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER
   ソフトウェア
      マイクロソフト
         インターネットエクスプローラ
            主要
               機能制御
                  FEATURE_BROWSER_EMULATION
                     YouApp.exe = (DWORD) 00000000 (以下の値を参照)
  • 値 9999 (0x270F)
    Windows Internet Explorer 9。!DOCTYPE ディレクティブに関係なく、Web ページは IE9 標準モードで表示されます。

  • 値 9000 (0x2328)
    Internet Explorer 9。標準ベースの !DOCTYPE ディレクティブを含む Web ページは IE9 モードで表示されます。

  • 値 8888 (0x22B8) Web
    ページは、!DOCTYPE ディレクティブに関係なく、IE8 標準モードで表示されます。

  • 8000 (0x1F40)
    標準ベースの !DOCTYPE ディレクティブを含む Web ページが IE8 モードで表示されます。

  • 7000 (0x1B58)
    標準ベースの !DOCTYPE ディレクティブを含む Web ページが IE7 標準モードで表示されます。

現在インストールされているバージョンで WebBrowser を常に実行する値が見つかった場合は +1。

ソース: http://msdn.microsoft.com/en-us/library/ee330730%28VS.85%29.aspx#browser_emulation

于 2012-05-31T00:49:51.107 に答える