WebBrowser 控件提升IE版本

WebBrowser 控件的內(nèi)核為IE 而默認(rèn)為IE7

很多的網(wǎng)站不支持IE7(因?yàn)槎鄶?shù)都有使用jq或者相關(guān)類庫(kù),還有就是能直接支持json,當(dāng)然可以通過(guò)使用json2.js使其支持)

扯遠(yuǎn)了,怎么能使WebBrowser 正常打開(kāi)網(wǎng)頁(yè) 一下有兩種方式

1.由前端同事配合(即自己家的網(wǎng)站),也就是讓網(wǎng)站本身可以兼容IE7(如果你家前端不嫌棄的話)? 這個(gè)涉及到前端知識(shí) 我這里并不多贅述 PS:前端是絕對(duì)可以使網(wǎng)站兼容IE7的? 如果對(duì)方說(shuō)不可能? 那你可以懷疑一下他的水平(最好不要這樣 避免關(guān)系鬧僵? 手動(dòng)狗頭)

2.則是通過(guò) 修改系統(tǒng)注冊(cè)表 實(shí)現(xiàn),這個(gè)方法也很簡(jiǎn)單?

在?HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 中新建一個(gè)項(xiàng)值? 名稱為 你的程序名稱.exe 值的類型為 REG_DWORD 實(shí)際值可取一下? 十進(jìn)制(16進(jìn)制)

10000(0×2710) IE10

9999 (0x270F) IE9 忽略html5

9000 (0×2328) IE9

8888 (0x22B8) IE8 忽略html5

8000 (0x1F40) IE8

7000 (0x1B58) IE7

例如將?WebBrowser? 改為IE9(代碼為VB6.0)

Dim objshell As Object

?Set objshell = CreateObject("wscript.shell")

?Call objshell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetExplorer\MAIN\FeatureControl\FEATURE_BROWSER_E

MULATON\" & App.EXEName & ".exe", "9000", "REG_DWORD")

Set objshell = Nothing

這種方式可以理解為 告訴windows 我程序中 打開(kāi)的ie瀏覽器使用的版本應(yīng)該為IE9?

注意:此方式只能生成exe后有效(VB6.0中調(diào)試的名稱并不等于生成的,其他環(huán)境語(yǔ)言未測(cè)試 如有大神路過(guò)還望不吝賜教)



有人說(shuō)有64和32的區(qū)別? 以64位機(jī)器為例,因?yàn)?2位程序在64位機(jī)器上訪問(wèn)注冊(cè)表時(shí)會(huì)自動(dòng)被轉(zhuǎn)到32位地址,而不是真正的地址,所以使用這個(gè)就可以

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容