フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: TWebBrowser (IE コンポーネント) と互換モード
DEKO
管理者
投稿数: 2651
TWebBrowser (IE コンポーネント) と互換モード
on: 2013/04/28 05:08 Sun

TWebBrowser 等の IE コンポーネントを利用した場合、デフォルトでは IE7 の互換モードで動作します。

[HKCU\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
または
[HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
に "アプリケーションの EXE 名=dword:" をセットすればレンダリングモードを 変更できます。

例えば、Delphi の IDE である bds.exe も IE コンポーネントを使っています。ウェルカムページ ([表示 | ウェルカムページ]) 等がそうですね。
アドレスバーに http://www.useragentstring.com/ を入力して確認してみます。

IE7 と表示されましたが、テストした環境は Windows 7 + IE10 の環境です。では、以下のレジストリを登録してみましょう。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"bds.exe"=dword:00002710

 
Delphi を起動し、先程と同じサイトを表示してみます。

今度は IE10 と表示されました。このように IE コンポーネントは、

  • 初期レンダリングエンジンは IE 互換モード (現状、IE7)
  • レジストリを操作しないと現在利用中の IE と同じレンダリングモードにはならない

という事になります。レジストリで指定するレンダリングモードの値は以下のようになります。

IE7 :  7000 (0x1B58)
IE8 : 8000 (0x1F40)
IE9 : 9000 (0x2328)
IE10: 10000 (0x2710)
IE11: 11000 (0x2AF8)

 
See Also:
[IE8 の WebBrowser コントロールのレンダリング モード (MSDN)]
http://msdn.microsoft.com/ja-jp/ie/cc787976.aspx

[More IE8 Extensibility Improvements (IEBlog)]
http://blogs.msdn.com/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx

Mr.XRAY
メンバー
投稿数: 192
TWebBrowser (IE コンポーネント) を使用したアプリが応答なしとなる
on: 2014/01/21 16:18 Tue

もしかしたら関連があるかもしれないので,ここに書いておきます.
IE11 でも同様の現象が発生するようです.
以下の記事の対応をすると,改善はされるようですが,完全というわけではないようです.

[IE10 環境でWebBrowser コントロールをホストするアプリケーションの応答が停止する]
http://support.microsoft.com/kb/2876014/ja

Mr.XRAY
メンバー
投稿数: 192
Re: TWebBrowser (IE コンポーネント) と互換モード
on: 2014/01/21 20:39 Tue

TWebBrowser は確かに簡単にウェブページを表示してみることができるので便利ではあります.
私も,Google の検索結果のページを連続的に閲覧できるようなユーティリティを作成して利用しています.
しかし,かなり頻繁に「応答なし」になります.

今は,いわゆる「お行儀の悪い」サイトやページが結構あります.
それらに対応して,「応答なし」の状態にならないようなブラウザを開発するのは困難なのではないかと思っています.
TWebBrowser を使用して,新規に汎用目的のインターネットブラウザを開発するには無理があるのかも知れません.
業務アプリで,自サーバとデータのやりとり等には十分に利用可能であると思います.

Mr.XRAY
メンバー
投稿数: 192
Re: TWebBrowser (IE コンポーネント) と互換モード
on: 2014/07/06 11:34 Sun

私のサイトの以下に,IE レンダリング関係の記事を追加しておきました.

[22_IE コンポーネントのレンダリングの互換モードを確認 ]
http://mrxray.on.coocan.jp/Delphi/plSamples/940_TWebBrowserAndIE.htm#22

[23_IE コンポーネントのレンダリングの互換モードを変更]
http://mrxray.on.coocan.jp/Delphi/plSamples/940_TWebBrowserAndIE.htm#23

[24_IE コンポーネントのレンダリングテスト]
http://mrxray.on.coocan.jp/Delphi/plSamples/940_TWebBrowserAndIE.htm#24

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.026 sec.