Vue2应用在IE11默认文档模式下空白的问题求助
解决Vue2应用在IE11中因IE7文档模式导致的空白页面问题
看起来你遇到的问题核心在于IE11默认启用了IE7文档模式,而Vue 2本身只支持到IE9及以上版本,IE7完全不兼容Vue依赖的ES5语法,才会抛出SCRIPT1028 - Expected identifier, string or number错误。结合你提到切换到Edge/IE10模式就正常的情况,我们可以从以下几个方向解决:
1. 强制IE11使用最新文档模式
IE11有时候会因为页面缺少正确声明而回退到旧兼容模式,你需要在页面最顶部添加两个关键声明:
- 首先确保DOCTYPE声明在HTML的第一行,没有它IE会直接进入怪异模式:
<!DOCTYPE html> - 然后在
<head>的最开头添加X-UA-Compatible元标签,强制IE使用最新的渲染引擎:
注意这个标签必须放在所有其他<meta http-equiv="X-UA-Compatible" content="IE=edge"><meta>标签、CSS和JS引用之前,否则可能无法生效。
2. 排查代码中的IE7不兼容语法
虽然切换文档模式后问题能解决,但如果你的代码或第三方依赖中存在IE7完全不支持的语法(比如对象字面量末尾逗号、箭头函数、const/let等),在兼容模式下仍会报错。可以做这些检查:
- 确认Vue项目已配置Babel转译,将ES6+代码转为ES5(Vue CLI创建的项目默认已配置,手动搭建的项目可能需要补充配置)。
- 检查第三方依赖是否支持IE9+,部分未做转译的库可能需要加入Babel的转译列表。
3. 明确Vue2的浏览器支持范围
Vue 2官方明确支持IE9及以上版本,IE7和IE8不在支持范围内,所以即使修复了文档模式,这两个旧版本也无法正常运行你的应用。但你的IE11切换到Edge/IE10模式就能正常运行,说明代码本身兼容IE10+,所以核心还是让IE11默认使用现代文档模式。
按照上面的步骤调整后,IE11应该会自动使用Edge文档模式加载应用,不会再出现空白页面和SCRIPT1028错误了。
内容的提问来源于stack exchange,提问作者ARUNABHA BARDHAN




