0

私のアプリケーションでは、WebBrowser-Controlを使用してローカルHTMLファイルを表示します。このファイルには、jQueryとカスタムjs-Fileが含まれています。

IEでファイルを(ローカルで)開くと、すべてが正常に機能します。ただし、アプリケーションでWebBrowserコントロールを使用してファイルを表示すると、JQueryが完全に機能しません(機能するものと機能しないもの$.(...)addClass('abc')があります)。

なぜこれが当てはまるのか誰にも分かりますか?私はNavigate()HTMLファイルに移動し InvokeScript、WebBrowserのドキュメントでjQueryを使用しているjavascript関数を呼び出すために使用しています。javascript:また、うまく機能しなかった-URLに移動して関数を呼び出してみました。

助けてくれてありがとう

4

2 に答える 2

3

これは長い道のりですが、新しいバージョンのIEがインストールされていても、何らかの理由でWebBrowserコントロールがデフォルトで古いバージョンのIEレンダリングエンジンになっている場合があります。IEの一部の古いバージョンでは、jqueryで問題が発生する可能性があります。

いくつかのjsを追加して、期待しているバージョンのIEを使用していることを確認してください。

http://obvcode.blogspot.com/2007/11/easiest-way-to-check-ie-version-with.html

于 2012-11-13T16:03:43.160 に答える
2

この問題と解決策に関して、リック・シュトラールによって書かれた素晴らしい記事があります。

http://www.west-wind.com/weblog/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

 

2つのレジストリキーを設定する必要があります。1つは32ビット用、もう1つは64ビットアプリケーション用です。

32ビット:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION

バリューキー:yourapplication.exe

 

64ビット:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION

バリューキー:yourapplication.exe



このキーを設定する値は、10進値として(ここでMSDNから取得)です。

9999(0x270F)Internet Explorer 9. Webページは、!DOCTYPEディレクティブに関係なく、IE9標準モードで表示されます。

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

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

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

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

于 2013-02-05T15:42:26.560 に答える