我正在構建一個使用WebBrowser控件的Windows窗體應用程序。任何人都可以告訴我控件使用了什麼渲染引擎?什麼是Windows窗體中WebBrowser控件的瀏覽器版本
它是基於我正在開發的.NET框架的版本修復的,還是基於客戶機上安裝的IE版本?客戶端是否需要IE?
換句話說,如果一個網站在我的機器上看起來應該是正確的,那麼假設它可以正確顯示在其他人的機器上是合理安全的嗎?
謝謝!
我正在構建一個使用WebBrowser控件的Windows窗體應用程序。任何人都可以告訴我控件使用了什麼渲染引擎?什麼是Windows窗體中WebBrowser控件的瀏覽器版本
它是基於我正在開發的.NET框架的版本修復的,還是基於客戶機上安裝的IE版本?客戶端是否需要IE?
換句話說,如果一個網站在我的機器上看起來應該是正確的,那麼假設它可以正確顯示在其他人的機器上是合理安全的嗎?
謝謝!
這將是目標機器上安裝的IE版本。只能有一個,IE不支持版本的並行安裝。除非您在安裝了版本6,7和8的不同計算機上進行測試,否則您不會知道您的應用會毫無問題地運行。這通常是網站作者的負擔。
您應設置註冊表項,否則web瀏覽器將呈現爲IE4
在這裏看到:
:爲FEATURE_BROWSER仿真 http://www.west-wind.com/weblog/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version註冊表鍵位置可以在指定註冊表中的這些鍵
HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION HKCU密鑰是設置這些值的最佳位置,因爲只有一個密鑰並且可以設置爲UT管理員權限,但你也可以在HKLM設置這些按鍵在機級別:
HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION 或64位機上的32位應用程序:
HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \微軟\的Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION
項名稱 的鍵名是你的應用程序的EXE名稱,如:
OUTLOOK.EXE MarkdownMonster.exe
值
該值指定IE版本如下:
的值來設置該鍵是爲十進制的值(從這裏MSDN截取):
11001(0x2AF9) Internet Explorer 11.網頁以IE11標準模式顯示,無論!DOCTYPE指令如何。
11000(0x2AF8) Internet Explorer 11.包含基於標準!DOCTYPE指令的網頁以IE9模式顯示。
10001(0x2AF7) Internet Explorer 10.網頁以IE10標準模式顯示,無論!DOCTYPE指令如何。
10000(0x2710) Internet Explorer 10.包含基於標準!DOCTYPE指令的網頁以IE9模式顯示。
9999(0x270F) Internet Explorer 9.網頁以IE9標準模式顯示,無論!DOCTYPE指令如何。
9000(0x2328) Internet Explorer 9.包含基於標準!DOCTYPE指令的網頁以IE9模式顯示。
8888(0x22B8) 無論使用!DOCTYPE指令,網頁都以IE8標準模式顯示。
8000(0x1F40) 包含基於標準!DOCTYPE指令的網頁以IE8模式顯示。
7000(0x1B58) 包含基於標準!DOCTYPE指令的網頁在IE7標準模式下顯示。這種模式是沒有意義的,因爲它是默認的。
設置這些鍵可讓您的應用程序輕鬆使用機器上最新的Internet Explorer版本。不幸的是,似乎沒有一個關鍵是說使用已安裝的最新版本 - 不幸的是,您必須具體說明該版本。鑑於Windows 7和更高版本可以運行IE 11,我要求用戶使用IE 11(如果我想使用HTML5和更高級的CSS功能,如Flexbox),但如果您的內容比較簡單,則可以使用IE 10或甚至IE 9.
正是我想知道的 - 謝謝!我們正在開發專門用於加載到該控件中的站點。網絡傢伙將很高興聽到他們仍然需要在IE6中測試! ; o) – 2010-06-15 11:23:40
[Here](https://blogs.msdn.microsoft.com/ie/2009/03/10/more-ie8-extensibility-improvements/)msdn說*「爲了兼容性目的,WebBrowser控件將如果沒有爲應用程序定義功能控制鍵值,默認情況下在IE7標準模式下運行。「*您的聲明如何處理?如果我在使用WebBrowser運行應用程序的機器上安裝了IE11,並且沒有指定功能控制鍵,也沒有任何元數據兼容性標籤(順便說一下,在我的情況下似乎沒有影響) - 您不同意並聲明IE版本WebBrowser將運行11,而不是7? – Veverke 2016-11-24 11:28:29
你有IE11,它模擬IE7的怪癖。 FEATURE_BROWSER_EMULATION註冊表項可用於更改或禁用此仿真。 – 2016-11-24 11:31:52