360浏览器无法打开vue项目
序:
在vue项目开发之后,发现用户使用360浏览器无法进入项目,或是打开F12发现有报错。
原因:
360浏览器有极速模式(webkit内核)和兼容模式(IE内核)两种,因为360打开时使用的是兼容模式,但是项目又没有兼容IE(Trident)内核,导致了项目打不开。
极速模式: 是以Blink(Webkit)为内核的浏览模式,Blink内核具有更高的网页浏览速度和更好网页渲染效果。但由于少部分网银、政府、税务、办公系统等网站对Blink的兼容性不佳,若打开此类网站发现异常,请手动切换到“兼容模式”下继续浏览。兼容模式: 360极速浏览器调用Trident内核(IE内核),Trident内核具有网页兼容性好、页面适用性广的特征,对于部分在默认“极速模式”下出现问题的网页(如:使用了Activex控件、页面代码只支持Trident内核、网页中注明使用IE浏览器)的情况下,切换“兼容模式”就可以正常使用网站功能。
解决方案:
方案1(比较麻烦):
可以引入babel-polyfill或者core-js来解决IE兼容问题,但是这样子比较麻烦。如果你的项目本身就是不需要兼容IE的,那么这样子做就没有什么必要。
解决方案2(推荐):
在vue项目 public文件夹下的index.html中添加一个meta标签:
注意:这个meta标签最好紧跟着head标签。
<meta name="renderer" content="webkit">
这样子,在使用360浏览器打开你的网址的时候,就会默认以极速模式(谷歌内核webkit)来打开我们的vue项目,项目就能正常运行了。
注意:但是如果用户在该网址下(一定是在该网址下切换,浏览器会记录这个网址的模式),手动切换到了兼容模式,则打开的时候一定会以兼容模式来打开。
因为浏览器极速13版本:强制锁定极速模式(无法手动切换)>手动切换>meta指定>浏览器兼容列表。
这点主要是因为测试会主动去切换,认定这是一个bug,其实大多数用户都不会去手动切换的。