Vue 进阶(六十三):如何使浏览器打开时,默认的文档模式就是标准模式
一、前言
最近做的一个项目是基于chrome
开发的,又来要求是要兼容ie8 ie9 ie10 ie11
;那么问题来了,好多样式行为都千奇百怪的出现,后来发现,将文档模式调为标准之后,才差不多 ok;那么我怎么才能确保用户打开时,文档模式是标准的呢;而且是不是ie7
的标准呢?
二、IE 浏览器模式 和 文档模式的区别
1.浏览器模式
用于切换 IE 针对该网页的默认文档模式、对不同版本浏览器的条件备注解析、发送给网站服务器的用户代理(User_Agent)字符串的值。网站可以根据浏览器返回的不同用户代理字符串判断浏览器的版本和安装的功能,就可以向不同的浏览器返回不同的页面内容。
2.文档模式用于指定 IE 的页面排版引擎(Trident
)以哪个版本的方式来解析并渲染网页代码。切换文档模式会导致网页被刷新,但不会更改用户代理字符串中的版本号,也不会从服务器重新下载网页。切换浏览器模式的同时,浏览器也会自动的切换到相应的文档模式。
三、解决方法
第一步,将代码设置成html5
的模式,那么用户打开项目之后,文档模式就是标准的;即不会是ie5Qurik
模式;但有可能是ie7
标准模式;
第二步,
2.1 在html head
中写上这句代码,即可时文档模式为你浏览器最高级别的模式;<meta http-equiv="X-UA-Compatible" content="IE=edge" />
;
2.2 若你想以ie8
的标准模式打开,就写成<meta http-equiv=X-UA-Compatible content=”IE=EmulateIE8“>
;
2.3 若你想要以他的文档模式 ie10 的打开,浏览器级别低于 10 的就以浏览器本身最高的方式打开,那么你要写这 2 句话(顺序不能错):<meta http-equiv=X-UA-Compatible content=“IE=EmulateIE10”>;<meta http-equiv="X-UA-Compatible" content="IE=edge" />
;
原因,优先级是第一句,但第一句执行不了,再执行第二句;
第三、补充两点,1.若您的代码在jsp
环境中,通过iframe
的形式展示的,上面代码写在 common.jsp 或者您的 basic.jsp 即可;
2.经我实践证明这句:<meta http-equiv=X-UA-Compatible content=”IE=10“>
无效,必须写成IE=EmulateIE10
;
3.写多个文档模式,这样即可<meta http-equiv=”X-UA-Compatible” content=”EmulateIE8,EmulateIE10″>
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/1431937e3cec02a85c0e0a2b7】。文章转载请联系作者。
评论