奈良県でソフトウェア開発・Webサイトの運営をしているフリーランスのエンジニアです

ロジカルアーツ研究所

Windows関連

ブラウザコントロールをIE8モードに設定する

投稿日:

同じHTMLでもブラウザによって微妙に見え方が異なる場合があるのはウェブ制作者なら周知の通りです。特にIE6, IE7はW3C標準に準拠しないMS独自の仕様でレンダリングしていたため、レイアウトが崩れてしばしばウェブ制作者を悩ませてきました。しかしIE8になってようやく改善されてきたようで、見え方の違いに悩まされることも少なくなりました。

IEはWindows標準のブラウザだけでなく、独立したコントロールとしても動作するので、自前のアプリケーションに組み込んで使用することも可能です。ところがここでちょっと困った問題に直面しました。たとえIE8がインストールされていても、自前のアプリケーションに組み込まれたブラウザはデフォルトではIE7互換モードで動作してしまうのです。IE8は過去のバージョンとの互換性を保ちながらレンダリングするモードがあり、標準ブラウザではメニューから切り替えることが可能です。ところが自前のアプリケーションに組み込まれたブラウザの互換モードを切り替える方法がどうしてもわかりませんした。

そこでウェブを検索してみると情報が見つかりました。どうやらレジストリのあるキーにアプリケーションを登録してやれば、そのアプリケーションに組み込まれたブラウザはIE8ネイティブモードで動作する仕組みのようです。設定すべきレジストリのキーは以下の通りです。

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

すごく深い階層です(笑)。このキーがない場合は作成し、そこに次のサブキーを書き込みます。

サブキー名:アプリケーションの実行ファイル名
値:DWORD値として8000(10進)

実行ファイル名はフルパスではなく、ファイル名のみです。これで登録されたアプリケーションはIE8のネイティブモードで動作するようになります。IE7互換モードに戻したいときはサブキーを削除します。プログラムの起動時にレジストリに書き込むようにすればよいでしょう。なおレジストリを操作しますので、プログラミングにあたっては十分注意して下さい。

-Windows関連

Copyright© ロジカルアーツ研究所 , 2024 All Rights Reserved Powered by STINGER.