最近因为项目需要调用ocx控件(只支持IE),而向来鄙视IE的我,花了两天时间展开了对双内核浏览器的详细调查与几百次内核切换测试,得出了下面报告:
名称 | 内核 | 模式 | 强制指定内核情况 | 其他问题 |
---|---|---|---|---|
360浏览器 | Chrome+ie | 极速+兼容 | 1至N此刷新生效 | 内核切换不稳定 |
360极速浏览器 | Chrome+ie | 极速+兼容+IE | 1至N次刷新生效 | 内核切换不稳定 |
遨游浏览器 | Chrome+ie | 极速+兼容 | 1次 | 内核稳定 |
猎豹浏览器 | Chrome+ie | 极速+兼容 | 1次 | 内核稳定、丢失ssesion |
QQ浏览器 | Chrome+ie | 极速+兼容 | 多次刷新都难以生效 | 内核切换不生效 |
测试过程中发现几个问题:
- 千万不能手动切换内核,只要切换过以后,浏览器就会记录你整个站点内核,以后都会自动使用你切换过的内核。必须重新卸载安装浏览器后才能恢复自动切换内核功能。
- 猎豹浏览器的内核切换是最快最明显的,基本改变了mate标签刷新页面就会切换浏览器内核了。但是!在测试过程中发现偶尔会闪屏,经过debug一步步调试发现,居然不是简单的闪屏,而是浏览器在切换内核:谷歌内核—》ie内核—》谷歌内核,切换了两次。关键是在切换内核的过程中,session居然丢失了,导致网站因为检测不到session而跳转到登陆页,这是是双核浏览器中最大的坑!
附强制切换内核标签:
浏览器内核设定
<meta name="renderer" content="ie-stand">//默认用ie标准内核
<meta name="renderer" content="ie-comp">//默认用ie兼容内核
<meta name="renderer" content="webkit">//默认用极速核
<meta name="renderer" content="webkit|ie-comp|ie-stand">//多个内核名称,之间以符号”|”进行分隔,浏览器将会按照从左到右的先后顺序选择其具备的渲染内核来处理当前网页
设备逻辑像素宽度
<meta name="viewport" content="width=device-width, initial-scale=1.0">