微软的IE基本上已经逐渐退出历史的舞台了;
取而代之的是Edge,不过VS的WebBrowser却没有同步更新;
所以我们有的时候需要修改程序内置浏览器的IE内核版本;
这里提供了一个脚本以实现切换IE版本的操作:
代码如下:
' 切换IE版本.vbs.
' 20210520 初始版本,实现了基本功能;
' 20210521 v1.1 修改了注册表位置,新位置同时作用于64位和32位程序,且不用管理员权限就能修改;
' 20210521 v1.2 将IE版本说明翻译成中文,统一对话框标题;
' 使用说明 https://blog.csdn.net/milaoshu1020/article/details/117080158
' 官方文档 https://docs.microsoft.com/zh-cn/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)?redirectedfrom=MSDN
Set shell = createobject("wscript.shell")
progname = inputbox("请输入程序文件名称或者完全路径:","切换IE版本","hh.exe")
version = inputbox("请选择IE版本号:" & vbcrlf & _
"<11001> IE11.无论声明的!DOCTYPE指令如何,网页均以IE11的edge模式显示.未能声明!DOCTYPE指令将导致页面以Quirks加载." & vbcrlf & _
"<11000> IE11.包含基于标准的!DOCTYPE指令的网页以IE11的edge模式显示.IE11的默认值." & vbcrlf & _
"<10001> IE10.无论!DOCTYPE指令如何,网页均以IE10标准模式显示." & vbcrlf & _
"<10000> IE10.包含基于标准的!DOCTYPE指令的网页以IE10的标准模式显示.IE10的默认值." & vbcrlf & _
"<9999> IE9.无论!DOCTYPE指令如何,网页均以IE9标准模式显示.未能声明!DOCTYPE指令将导致页面以Quirks加载." & vbcrlf & _
"<9000> IE9.包含基于标准的!DOCTYPE指令的网页以IE9的标准模式显示.IE9的默认值." & vbcrlf & _
"<8888> IE8.无论!DOCTYPE指令如何,网页均以IE8标准模式显示.未能声明!DOCTYPE指令将导致页面以Quirks加载." & vbcrlf & _
"<8000> IE8.包含基于标准的!DOCTYPE指令的网页以IE8的标准模式显示.IE8的默认值." & vbcrlf & _
"<7000> IE7.包含基于标准的!DOCTYPE指令的网页以IE8的标准模式显示.托管WebBrowser控件的应用程序的默认值.", _
"切换IE版本","11000")
If version = "" Then
wscript.quit
End If
shell.regwrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\" & progname,version,"REG_DWORD"
msgbox "修改完成,请重启该程序!",vbokonly,"切换IE版本"
将代码保存为文本文件(文件名"切换IE版本.vbs",保存编码"ANSI");
为了方便菜鸟,这里也提供下载地址:
链接:https://pan.baidu.com/s/1RdEMF4r2heAO2LzsFMcXcw
提取码:2yie
双击执行脚本,界面如下:
按照提示输入数字即可切换IE版本;