2010-06-15 118 views
8

我正在構建一個使用WebBrowser控件的Windows窗體應用程序。任何人都可以告訴我控件使用了什麼渲染引擎?什麼是Windows窗體中WebBrowser控件的瀏覽器版本

它是基於我正在開發的.NET框架的版本修復的,還是基於客戶機上安裝的IE版本?客戶端是否需要IE?

換句話說,如果一個網站在我的機器上看起來應該是正確的,那麼假設它可以正確顯示在其他人的機器上是合理安全的嗎?

謝謝!

回答

4

這將是目標機器上安裝的IE版本。只能有一個,IE不支持版本的並行安裝。除非您在安裝了版本6,7和8的不同計算機上進行測試,否則您不會知道您的應用會毫無問題地運行。這通常是網站作者的負擔。

+0

正是我想知道的 - 謝謝!我們正在開發專門用於加載到該控件中的站點。網絡傢伙將很高興聽到他們仍然需要在IE6中測試! ; o) – 2010-06-15 11:23:40

+0

[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

+0

你有IE11,它模擬IE7的怪癖。 FEATURE_BROWSER_EMULATION註冊表項可用於更改或禁用此仿真。 – 2016-11-24 11:31:52

0

您應設置註冊表項,否則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.

相關問題