簡體   English   中英

Web瀏覽器控件的行為不同於IE

[英]Webbrowser control behaving different than IE

在我的應用程序中,我使用WebBrowser-Control來顯示本地HTML文件。 該文件包括jQuery和自定義js文件。

當我使用IE(本地)打開文件時,一切正常。 但是,如果我在應用程序中使用WebBrowser控件顯示文件,則JQuery無法完全正常工作(某些功能確實可以工作,例如$.(...)addClass('abc')功能不能工作)。

有人知道為什么會這樣嗎? 我正在使用Navigate()導航到HTML文件,然后在WebBrowser的文檔上使用InvokeScript來調用使用jQuery的javascript函數。 我也嘗試通過導航到javascript: -URL來調用該函數,但效果不佳。

感謝您的幫助

這是一個很長的路要走,但是我看到一些實例,其中由於某些原因,即使安裝了新版本的IE,WebBrowser控件仍默認使用舊版本的IE呈現引擎。 某些舊版本的IE可能與jquery有關。

嘗試添加一些js以確保它使用的是您期望的IE版本。

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

關於這個問題和解決方案,Rick Strahl寫了一篇很好的文章:

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

您必須設置兩個注冊表項,一個用於32位,一個用於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



將此鍵設置為的值( 從MSDN此處獲取 )為十進制值:

9999(0x270F)Internet Explorer9。無論!DOCTYPE指令如何,網頁均以IE9標准模式顯示。

9000(0x2328)Internet Explorer9。包含基於標准的!DOCTYPE指令的網頁以IE9模式顯示。

8888(0x22B8)網頁以IE8標准模式顯示,無論!DOCTYPE指令如何。

包含基於標准!​​DOCTYPE指令的8000(0x1F40)網頁以IE8模式顯示。

包含基於標准的!DOCTYPE指令的7000(0x1B58)網頁以IE7標准模式顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM