Windows 11 配置使用 Edge 浏览器的 IE 兼容模式(永久)
- 前言
- 实现方法
- 一、下载策略包
- 二、解压策略包
- 三、拷贝策略包到 PolicyDefinitions 下
- 四、组策略编辑器
- 五、生成并编辑 xml 文件
- compat-mode 定义的是哪个版本 IE 兼容模式,枚举如下
- open-in 定义的是在何种浏览器中打开,枚举如下
- 六、重启 Edge 浏览器查看效果
- 七、通过策略关闭 Edge 浏览器的自动更新(可选)
- 参考资料
前言
最近馋上了 Windows 11 支持的 Windows Terminal
(又叫 Windows 终端)而给机器强升了系统,兴高采烈带着笔记本去公司发现,老旧项目工程的网页全都不支持了。网上搜了一圈解决办法发现,好家伙,原来 Windows 11 已经彻底将 IE 移除了!
不过微软还是留了后路的,Windows 11 内置的 Edge 浏览器从 91.0.864.64
版本开始内置了 IE 兼容性模式,确保某些具有兼容性问题的网站也能使用兼容模式打开浏览。(这个网上很多教程随手一搜就有,开启方式就是在 设置 -> 默认浏览器 -> Internet Explorer 兼容性 这个页面下添加你要使用兼容性模式访问的地址就可以了)
但又不知道从某个版本开始,这个列表内的地址被加上了个“到期日期”,也就是从添加地址当天起30天后,再次使用 Edge 浏览器访问这个地址时,Edge 不会再自动使用 IE 兼容模式访问网站。想要恢复也很简单,再次手动将地址加入列表内就可以了。
Edge 的兼容模式已经能解决 Win11 缺少 IE 无法访问部分网站的兼容性问题了,接下来的解决方案比较一劳永逸,但是需要折腾
实现方法
前排提示:这个方法需要你的 Windows 系统能够使用 组策略编辑器,如果你在系统中没有找到或者运行不了 组策略编辑器,那文件替换后无法修改生效,也是没用的。
本人因为公司的老旧项目工程过多,近期也在逐个适配非 IE 的主流浏览器兼容性,但毕竟迁移改造需要时间,这样每30天就要添加一次地址也太麻烦了。通过查阅微软的帮助文档发现,Edge 浏览器可以通过配置组策略和编写 xml
文件的方式定义打开某些特定网站时强制使用 IE 兼容模式,并且没有到期时间的限制,这样可就一劳永逸了。
一、下载策略包
首先,Edge 自带的那些策略是可以在 组策略编辑器 里看到的,但可配置项很少,不满足我们的要求。需要去微软官网下载更多的策略包:https://www.microsoft.com/en-us/edge/business/download
这里要注意的是,要下载和自己的 Edge 浏览器版本相对应的的策略包。这里以本人的设备为例,Edge 浏览器的版本为: 102.0.1245.30 (正式版本) (64位),选择好版本后点击旁边的 Get Policies
链接进行下载。
二、解压策略包
下载完成后把下载好的 cab
压缩包里的 MicrosoftEdgePolicyTemplates
解压出来,这个底下有个 windows
文件夹就是我们需要使用的组策略配置模板。
三、拷贝策略包到 PolicyDefinitions 下
依次在 MicrosoftEdgePolicyTemplates\windows\admx\
目录下,把这几个文件(文件夹)拷贝到 C:\Windows\PolicyDefinitions
下:
-
msedge.admx
-
en-US\msedge.admx
-
zh-CN\msedge.admx
以上三个文件拷贝到 C:\Windows\PolicyDefinitions
的对应目录下,例如 MicrosoftEdgePolicyTemplates\windows\admx\en-US\msedge.admx
就放到 C:\Windows\PolicyDefinitions\en-US
目录下
四、组策略编辑器
打开方式:
-
键盘上 Win + R,在运行窗口里输入
gpedit.msc
,回车 -
使用 Cortana 或者 开始菜单 搜索"编辑组策略"
-
进入控制面板,类别视图下进入"系统和安全" -> 搜索栏输入 “编辑组策略”
打开组策略编辑器后,左侧导航栏找到 “计算机配置” -> “管理模板” -> “Microsoft Edge”,在右侧的策略列表里找到下面的两个配置项:
- “配置 Internet Explorer 集成”,选择"已启用",下方的"配置 Internet Explorer 集成"列表中选择"Internet Explorer 模式",确定保存
- “配置企业模式站点列表”,选择"已启用",下方的"配置企业模式站点列表"输入
file:///D:/sites.xml
(这里的文件名最好是英文但不一定要和我一样,如果你的xml
文件在 C 盘根目录那就输入file:///C:/your_filename.xml
,以此类推),确定保存
五、生成并编辑 xml 文件
这里有两种方式,可以用 Enterprise Mode Site List Manager
(下载地址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=49974)生成一个 sites.xml
文件到刚才定义的目录下,或者使用下面的模板(也是我用 Enterprise Mode Site List Manager
生成出来的):
<site-list version="1"><!--这里代表该文件的版本号 不能没有但意义不大--><created-by><!--create-by是工具自己生成的头部信息 不能没有但意义也不大--><tool>EMIESiteListManager</tool><version>12.0.0.0</version><date-created>06/01/2022 05:50:50</date-created></created-by><!--多个网址就复制多个site节点--><site url="www.baidu.com"><!--url是要使用IE兼容模式访问的网址--><compat-mode>IE8Enterprise</compat-mode><!--兼容模式选择--><open-in allow-redirect="true">IE11</open-in><!--在何种浏览器打开--></site>
</site-list>
compat-mode 定义的是哪个版本 IE 兼容模式,枚举如下
-
Default Mode
-
IE8Enterprise
-
IE7Enterprise
-
IE11Document
-
IE10Document
-
IE9Document
-
IE8Document
-
IE7Document
-
IE5Document
第一个 Default Mode
应该是交给 Edge 自己判断用哪种版本最合适。我这里的情况,工程项目在 IE8Enterprise
下是支持最好的,这个可以看情况自行选择。
open-in 定义的是在何种浏览器中打开,枚举如下
-
None
-
IE11
-
MSEdge
这个按照微软提供的文档来看,想要设置 IE 兼容性就必须设定为 IE11
,没什么好讲的。
六、重启 Edge 浏览器查看效果
到这里配置完成,就可以重新启动 Edge 浏览器并输入文件里配置的地址看看效果了。(设置中显示“由组织管理”,代表组策略生效)
七、通过策略关闭 Edge 浏览器的自动更新(可选)
由于这个方法是通过组策略来控制 Edge 的部分设置,当浏览器进行大版本升级时可能会因为策略包的变动而失效。我们同样可以通过组策略来关闭 Edge 检查到新版本后的更新行为。
依次在 MicrosoftEdgePolicyTemplates\windows\admx\
目录下,把这几个文件(文件夹)拷贝到 C:\Windows\PolicyDefinitions
下:
-
msedgeupdate.admx
-
en-US\msedgeupdate.admx
-
zh-CN\msedgeupdate.admx
重新打开 组策略编辑器,左侧导航栏找到 “计算机配置” -> “管理模板” -> “Microsoft Edge 更新” -> “应用程序”,在右侧的策略列表里找到 “更新策略替代默认值”,选择"已启用",下方的"更新策略"列表中选择"更新已禁用",确定保存
参考资料
[1]: Configure IE mode policies | Microsoft Docs
[2]: Use the Enterprise Mode Site List Manager | Microsoft Docs
[3]: Configure Microsoft Edge policy settings on Windows devices | Microsoft Docs
[4]: Microsoft Edge 浏览器策略文档 | Microsoft Docs
[5]: Enterprise Mode Site List Manager 安装包下载
[6]: Microsoft Edge Policies Template 组策略扩展包下载