2010-12-16 14 views
4

Javaアプリケーションに埋め込みSWTブラウザを使用しています。 SWTブラウザは、IE8 WebBrowserコントロールオブジェクトをラップします。私は、WebBrowser ControlがIE8モードの代わりにIE7モードを使用するという既知の問題にぶち当たっています。 (http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspxを参照してください)FEATURE_BROWSER_EMULATIONをIE8モードに設定するにはどうすればよいですか?

この記事およびその他の記事では、ブラウザのIE8モードがデフォルトになるように、アプリケーションのFEATURE_BROWSER_EMULATIONレジストリ値を設定しようとしていますが、私は成功しています。値8000を使用してIE8標準モードに設定することはできませんが、値8888を使用して強制的にIE8標準モードに設定します。

私は結果が8000のキー値が存在しない場合は7であるか、または結果が重要な場合は8であるSWTブラウザでページをロードし、その後

javascriptの

browser.execute("alert(document.documentMode);"); 
を実行することで、これをテストしてい値は8888が含まれて私がある http://stackoverflow.comに対してテストしていたURL、ある

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

は、誰もが私が間違っているのか知っています、次の?

答えて

1

スタンドアロンIE(ツール>互換表示設定)の互換表示設定を確認してください。あなたのページは 'compability view listに表示するサイト'にリストされていますか、または '互換性ビューのすべてのサイトを表示する'チェックボックスにチェックが入っていますか?そのreg値を8000に設定すると、Webブラウザコントロールは互換性ビューの設定を引き続き尊重します。

4
  1. ます。HKCU \ Software \ Microsoft \ Internet Explorerの\メイン\ FeatureControlを\ FEATURE_BROWSER_EMULATION
  2. あなたのプロセス名は、次にDWORD値は、このソリューションまず9999
+0

「プロセス名」は値の名前です。他の助言はこれを省略します。 –

2

チェックで設定を追加しました:

Regarding IE9 WebBrowser control

あなたの必要性を満たさない場合は、ここにレジストリソリューション


レジストリに次の新しい値を使用し、IE11標準モードでWebBrowserコントロールを実行するには、次の新しい値を使用し、

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 
"DesignU.exe" = dword 11000 (Hex: 0x2af8) 

IE10標準モードでWebBrowserコントロールを実行するにはレジストリに:

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 
"DesignU.exe" = dword 10000 (Hex: 0x2710) 

トンを使用し、IE9標準モードでWebBrowserコントロールを実行するために、 IE7標準で実行するには

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 
"DesignU.exe" = dword 8000 (Hex: 0x1F40) 

:レジストリに次の新しい値を使用して、IE8標準モードでWebBrowserコントロールを実行するには

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 
"DesignU.exe" = dword 9000 (Hex: 0x2328) 

:彼は、レジストリに新しい値を以下のモードでは、次のレジストリ値を使用します。

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 
"DesignU.exe" = dword 7000 (Hex: 0x1B58) 
+1

これは私が必要としていたものです! 'HKEY_LOCAL_MACHINE'を使うためにはパーミッションが必要であることに注意してください。実行時に変更する必要がある場合は、インストーラのステップで行うか、' HKEY_CURRENT_USER'を使うのが最善です。エミュレーションモードを最高のものを使用するように設定する場合は、 '\ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ svcVersion'(または' Version')から最高のシステムブラウザバージョンを取得することもできます( '99999 'それをするだろう)。 – Beejor

関連する問題