如何使浏览器打开时,默认的文档模式就是标准模式

举报
SHQ5785 发表于 2024/04/22 15:17:17 2024/04/22
【摘要】 一、前言最近做的一个项目是基于chrome开发的,又来要求兼容ie8 ie9 ie10 ie11;那么问题来了,好多样式行为都千奇百怪的出现,后来发现,将文档模式调为标准之后,才差不多ok;那么我怎么才能确保用户打开时,文档模式是标准的呢;而且是不是ie7的标准呢? 二、IE 浏览器模式 和 文档模式的区别1.浏览器模式用于切换IE针对该网页的默认文档模式、对不同版本浏览器的条件备注解析、...

一、前言

最近做的一个项目是基于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" />

原因,优先级是第一句,但第一句执行不了,再执行第二句;

注❤️:

  • Edge 模式告诉 IE 以最高级模式渲染文档,也就是任何 IE 版本都以当前版本所支持的最高级标准模式渲染,避免版本升级造成的影响。简单的说,就是什么版本 IE 就用什么版本的标准模式渲染。

    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    
  • 为防止失效,X-UA-Compatible最好紧跟在head之后,之前不要有任何不标准的标签。

注意⚠️:

  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″>

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。