旧系统到底要不要 IE 模式?
很多旧内网、OA、ERP 或 WebForms 页面并不一定需要完整 IE 内核。先区分它是 ActiveX/VBScript/Trident 依赖,还是普通 JavaScript 和 DOM 兼容问题,再决定用 IE 模式、虚拟机,还是先试 Chrome 兼容补丁。
下载试用版 查看能力边界适合先尝试 Chrome 补丁层的情况
老式事件模型
- 页面使用
attachEvent,而不是addEventListener - 脚本依赖
window.event或event.srcElement - 存在
returnValue、cancelBubble这类旧写法
老式框架和跳转
- frameset 入口页先加载外壳,再进入真实业务页面
- 页面停在
Loading.htm?url=...这类中转地址 - 脚本依赖部分
document.frames别名
弹窗选择器和 WebForms 控件
- 老页面调用
showModalDialog选择人员、日期或部门 - WebForms 日期控件在 Chrome 中显示或回填异常
- 按钮、回填或表单动作在 IE 里正常,在 Chrome 里失效
可控范围内验证
- 旧页面在 Chrome 中大体能打开,只是局部交互异常
- 你能指定一个内网域名做灰度测试
- 希望 macOS 和 Windows Chrome 用户都能参与验证
这些情况应继续用真实 IE 模式
Windows 专属浏览器技术
- ActiveX 控件
- VBScript、COM 集成
- Java applet、Silverlight 或厂商浏览器插件
真实 IE 内核或文档模式
- 必须使用 IE7 或 IE8 文档模式
- 问题来自 Trident 渲染差异,而不是脚本 API 差异
- 厂商明确要求 Internet Explorer 或 Edge IE mode
建议排查流程
- 先用当前桌面 Chrome 打开旧系统,记录具体坏在哪里。
- 把样式/排版问题和 JavaScript 交互问题分开。
- 确认失败功能是否依赖 ActiveX、VBScript、COM、applet 或 Trident。
- 如果不是,再在单个授权域名上试 scoped JS/DOM 兼容补丁。
- 保留 Edge IE mode、Windows VM 或远程桌面作为兜底方案。