1

在我的vb6應用程序中,我使用了webbrowser控件,其中在線支付網關網站已加載,它需要IE 8及以上版本。但即使安裝了IE 8,webbrowser控件也會將其呈現在IE7模式下。它可以通過使用Browser emulation registry來解決,我可以解決它。瀏覽器模擬安裝IE的最高可能版本

但是現在我已將值設置爲8888(網頁以IE8標準模式顯示,無論!DOCTYPE指令如何)。但如果我這樣做,即使PC有IE 9,10或11,那麼它將以IE8模式呈現。但我認爲如果webbrowser控件是在電腦中安裝的最高版本的IE中呈現,而不是將其固定到IE8模式,那將會更好。

那麼如何讓瀏覽器仿真設置爲PC中安裝的最高版本的IE?

回答

3

這並不容易,因爲「邊緣」渲染沒有任何價值。從註冊表

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion or Version 

你可以獲得IE版本 ...嘗試這兩個鍵,新版本IE瀏覽器使用svcVersion,老年。然後在FEATURE_BROWSER_EMULATION鍵中設置合適的值see msdn)。

該解決方案有一個很大的缺點:您的程序必須具有權限用於在註冊表中寫入。在安裝過程中最好這樣做,這是正確的方法(但是在升級IE時FEATURE_BROWSER_EMULATION值不會更新)。

+2

'HKCU \ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION'對於普通用戶基本上可以使用*和*。 – wqw 2014-10-31 17:16:41

+2

@wqw FEATURE_BROWSER_EMULATION的每個IE版本都存在不同的值。但我發現,如果我把價值11001(值爲ie 11)在一臺電腦有IE9的工作,我的網站加載錯誤解決。那麼它允許IE 9的價值爲IE 9的PC和它的作品像最高版本? – 2014-11-01 06:33:29

+0

嗯,價值11001可能是正確的方式,但它是一個無證的功能。仔細檢查所有測試。 - 注意:在我的代碼中,我對VB6代碼中的DOM操作有嚴重的問題。例如_Document.All.Item(「id1」)在IE7仿真中Nothing_運行良好,但不會更高。仔細測試你的代碼。 – 2014-11-03 07:35:44

0

只需將一個像「11111111」這樣的大數字作爲FEATURE_BROWSER_EMULATION鍵的值。然後它會佔用系統中安裝的最新IE版本。