質問

IE#をC#アプリケーションのWebBrowserコントロールとして使用したい。 <!> quot; quirksモード<!> quot;を無効にするにはどうすればよいですか? IEを標準に準拠させる(実装されている限り)?

役に立ちましたか?

解決

あなたが直面している問題は、 IEBlog:IE8のWebBrowserコントロールのレンダリングモード

  

ウェブマスターは簡単に変更できますが   で適切にレンダリングするサイト   IEの新しいバージョン、多くのソフトウェア   ベンダーにはリソースがありません   の新しいバージョンを即座にプッシュ   更新されたアプリケーション   内部ページ。   これらが存在することを保証するために   アプリケーションは正常に機能し、    IE8は、実行中のページをレンダリングします   内のWebBrowserコントロールのインスタンス   デフォルトではIE7標準モード。

ここで、ページのコメントは上記が間違っていると言っており、<!> quot; IE8は、デフォルトでIE7 StrictモードまたはQuirksモードのWebBrowserコントロールのインスタンス内で実行中のページをレンダリングします、ページのDoctypeに依存します。<!> quot;

解決策は次のとおりです。

  

実行可能ファイルがインスタンスをロードするとき   スキャンするWebBrowserコントロールの   かどうかを確認するレジストリ   実行可能ファイルがIE7標準またはIE8を必要としている   標準モード。

     

...

     

IE8標準モードの挿入で実行するには   次のレジストリ値:

     

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_NATIVE_DOCUMENT_MODE]

     

"MyApplication.exe"=dword:13880

     

これらのインスタンスの両方で、   MyApplication.exeを置き換える必要があります   実行可能ファイルの名前   でWebBrowserコントロールを実行します   指定されたモード。

つまり、<!> quot; programmatic <!> quot;解決策は、特定のアプリケーションのWebBrowserコントロールにIE8標準モードが必要であることを示すキーをレジストリに書き込むことです。

他のヒント

レジストリキーの手法を使用したくない場合は、次のタグを挿入できます。

<meta http-equiv="X-UA-Compatible" content="IE=8" />

<!> quot; content <!> quot;属性はさまざまなモードでのレンダリングを強制します。

私が最後に聞いたのは、IE8がデフォルトの標準モード。最新のベータ版に実際の問題がありますか?ユーザーが互換表示ボタン

ベータ以降、レジストリキーの名前が変更されたなど、いくつかの変更があったことに注意してください。詳細はこちら

これにはプログラムでこれを行う実際のコードがあり、これまでのところIE11まで処理します。

C#webbrowser Ajax call

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top