怎么设置浏览器手机兼容模式在哪设置

IE兼容性视图设置在哪?怎么设置?
  最近Win7的IE浏览器升级到了10、11的版本后,有些网页打开出现问题,就需要打开IE的兼容性视图,此时发现IE11并不是像之前的IE8,IE9,IE10那样在地址栏右侧有个兼容性视图的图标,IE11是没有的。
  另外,Win8自带的即为ie11,因此也需要注意。XP用户升级到ie9及以上版本,有些问题不会出现,如果需要也可参考。
  还有,兼容性视图是针对每一个站点独立设置的,不会互相干扰。
  兼容模式不是万能的,是针对旧的网页技术保留的功能,因此,一些国内外较为时新的网页请不要使用兼容性模式,以免出现显示错误。
  360、搜狗、猎豹、百度、QQ等浏览器的“ie兼容模式”下会因为ie的设定受到相应的影响,请注意检查。
&方法有两种,请大家酌情选择:
  兼容性视图设置方法一(此方法每次都需要切换):
  特别提醒:建议先切换后操作,以免页面已经填写的数据因切换而刷新后丢失。
  1. IE8,IE9,IE10,在地址栏右侧有个兼容性视图的图片,直接点亮即可打开兼容模式。
  2. 最新的IE11,兼容性视图的打开方法已经改变,具体操作如下:
  兼容性视图设置方法二(此方法对一个站点设定一次即可):
&  1. 在ie窗口下按下“F10”按钮后,顶端处会出现工具栏,点击“工具-兼容性视图设置”
  2. 将&&添加入列表即可。
(若分享按钮出现问题,请先登录校园网关)深入理解浏览器兼容性模式
发表于 10:46|
来源图灵社区|
摘要:关于各种浏览器模式,网上已经有许多文档和资料了,但是很少有能够完全将几个概念阐述清楚的。大部分的资料稍显过时,有些内容可能已经不再适用了。本文中笔者将尽可能将几个概念阐述清楚,并去掉一些过时的内容,仅保留必要的干货。
想必你一定知道浏览器有个标准(Standards)模式和一个怪异(Quirks)模式,或许你还听说过有个&准标准(Almost Standards)&模式。而当你打开Internet Explorer的时候,又看到了什么浏览器模式、文档模式,还有什么兼容性视图等等...
这些都是什么?啥是浏览器模式,啥是文档模式?标准模式和准标准的模式有什么区别?IE9兼容性视图和真正的IE9有什么区别?什么情况下会触发这些模式,又该怎样才能检测到浏览器当前处于哪种模式中呢?本文将详细为你解答这些疑问。
首先我们要知道,为什么会有这么多模式。其实这是个历史遗留问题,在时期,网景浏览器(Netscape Navigator)和微软的IE浏览器(Microsoft Internet Explorer)对网页分别有不同的实现方式,那个时候的网页要针对这两种浏览器分别开发不同的版本。而到了制定标准之后,这些浏览器就不能继续使用这种页面了,因而会导致大部分现有站点都不能使用。基于这个原因,浏览器才引入两种模式来处理一些遗留的站点。
现在的浏览器排版引擎支持三种模式:怪异(Quirks)模式、准标准(Almost Standards)和标准(Standards)模式。在怪异模式中,排版引擎会模拟 网景4和Windows中的IE5的行为;在完全标准的模式中,会尽量执行HTML和CSS规范所指定的行为;而在准标准模式中,则只包含很少的一部分怪异模式中的行为。
那么所谓标准模式,就一定都&标准&吗?答案当然是否定的,因为各个浏览器厂商实现标准的阶段不同,所以各个浏览器的&标准模式&之间也会有很大的不同。
Firefox、Safari、Chrome、Opera (自 7.5 以后)、 IE8 和 IE9 都有一个准标准模式。那么既然标准模式都不那么标准,准标准的模式肯定就更不标准了。只会,而后来各个浏览器又或多或少地进行了修改。那么什么情况下会触发准标准模式呢?是的,正如你所想到的,某些会触发准标准模式,例如:
&-//W3C//DTD&XHTML&1.0&Transitional//EN& &&-//W3C//DTD&XHTML&1.0&Frameset//EN& &&-//W3C//DTD&HTML&4.01&Transitional//EN& &&-//W3C//DTD&HTML&4.01&Frameset//EN& &&/data/dtd/v11/ibmxhtml1-transitional.dtd&&
一个完整的 DOCTYPE 例子如下:
&!DOCTYPE&HTML&PUBLIC&&-//W3C//DTD&HTML&4.01&Transitional//EN& &&&&&&&&&&&&&&&&&&&&&&&&http://www.w3.org/TR/html4/loose.dtd&&
如果在Firefox中插入这种DOCTYPE,并在页面中插入一个空的span标签,那么在中查看元素的布局就会发现不同:
准标准模式中元素的line-height被忽略了,元素既没有宽度也没有高度:
标准模式中元素仍然保留了line-height,拥有18px的高度:
在Firefox浏览器中,使用鼠标右键-&查看页面信息 可以看到当前浏览器运行在何种模式(只能看到&混杂模式&和&标准规范模式&两种表示):
有位大神曾写过一篇文章叫做,里面包含了一个完整的表格,展示了各种DOCTYPE设置将会使浏览器以何种方式渲染。这里还有一篇的译文。
鉴于目前一些最新版本的浏览器已经放弃了准标准模式,所以关于准标准模式的细节这里就不再赘述了,感兴趣的同学可以详细阅读以下资料:
那么,既然这么多的DOCTYPE都会触发非标准的模式,那么如何才能触发标准模式呢?对了!要使用,即:
&!DOCTYPE&html&
注意:如果文档中没有包含DOCTYPE或者包含了一个无法识别的DOCTYPE,则浏览器就会进入怪异模式。
下面简单说一下怪异模式。怪异模式有许多&怪异&的行为,主要是为了兼容那些遗留的古老页面而保留的模式。不同浏览器的怪异模式也不尽相同,它们都有自己的实现方式。怪异模式与标准模式的差异主要体现在 盒模型(box model)、表格单元格高度的处理等。例如IE的怪异模式中,元素的width包含了padding和border,而标准模式中padding和border 并不属于宽度的一部分。
若想详细了解浏览器在怪异模式下的行为,可以参看下面两篇文章。不过不建议在这上面花太多的精力,这是个历史遗留问题,而且我们也尽量保证新开发的页面不要进入到怪异模式:
小结:至此我们需要了解,浏览器有三种运行模式,即标准模式、准标准模式和怪异模式,要使用 &!DOCTYPE html& 来正确地触发标准模式。千万不要丢掉DOCTYPE声明,因为这会导致浏览器进入怪异模式。
IE的浏览器模式
IE8有4种模式:IE5.5怪异模式、IE7标准模式、IE8准标准模式和IE8标准模式,而IE9有7种模式: IE5.5怪异模式、IE7标准模式、IE8准标准模式、IE8标准模式、IE9准标准模式、IE9标准模式、XML模式。
其中XML模式是针对XML文档的,这里不打算阐述,细节可以看这篇文章[Defining Document Compatibility](/en-us/library/cc288325(v=vs.85).aspx) 中有详细阐述。
在IE8及以后的的IE浏览器中,支持X-UA-Compatible头,可以通过在服务器端设置HTTP头,或者在页面中插入&meta&标签来实现:
HTTP: &Header&set&X-UA-Compatible&&IE=8& &&Meta: &&http-equiv=&X-UA-Compatible&&content=&IE=EmulateIE7&&&
这种方法主要是防止老的页面在较新的浏览器中显示不正常的情况的, 比如上面的代码可以强制IE8以上版本的浏览器以IE7的模式进行渲染。
注意,不要在新开发的网页中使用这种技术,这种技术只应该作为新老网页更替过程中的过渡方案。由于目前新开发的网页都是尽量支持最新版本的浏览器的,所以这种技术也会慢慢被淘汰,感兴趣的同学可以详细阅读 微软的这篇文档。
小结:这里我们需要知道有这种方式可以强制浏览器以某种模式运行,但只应作为过渡方案,不应在新开发的网页中使用。
IE9兼容性视图与IE9标准视图
如果你使用的是IE9,那么按下F12键就会出现开发者工具,上面有两个下拉菜单:浏览器模式和文档模式。那么什么是浏览器模式?什么又是文档模式?二者有何区别?
浏览器模式用于切换IE针对该网页的默认文档模式、对不同版本浏览器的条件注释解析、以及发送给网站服务器的用户代理(User-Agent)字符串的值。网站可以根据浏览器返回的不同用户代理字符串判断浏览器的版本和及安装的功能,这样就可以根据不同的浏览器返回不同的页面内容了。
文档模式用于指定IE的页面排版引擎(Trident)以哪个版本的方式来解析并渲染网页代码。切换文档模式会导致网页被刷新,但不会更改用户代理字符串中的版本号,也不会从服务器重新下载网页。切换浏览器模式的同时,浏览器也会自动切换到相应的文档模式。
一言以蔽之,浏览器模式会影响服务器端对客户端浏览器版本的判断,对条件注释也有影响;而文档模式会影响IE的排版引擎,对网页渲染会有影响,对CSS hack也会产生影响。因此,通过条件注释可以判断浏览器模式,而使用CSS hack可以判断文档模式。
如果我们使用一句简单的JavaScript语句来查看用户代理(User-Agent)字符串的值,则可以看到IE9兼容性视图与IE9的区别:
&type=&text/javascript&&alert('UA:'+navigator.userAgent); &&
输出结果如下所示,注意其中的MSIE版本号已经不同。判断浏览器模式就是判断User-Agent中的版本号,即MSIE后面的数值:
//&IE9 &UA:Mozilla/5.0&(&MSIE&9.0;&Windows&NT&6.1;&Trident/5.0;&SLCC2;&.NET&CLR&2.0.50727;&.NET&CLR&3.5.30729;&.NET&CLR&3.0.30729;&Media&Center&PC&6.0;&.NET4.0C;&.NET4.0E;&Tablet&PC&2.0) &&//&IE9&兼容性视图 &UA:Mozilla/4.0&(&MSIE&7.0;&Windows&NT&6.1;&Trident/5.0;&SLCC2;&.NET&CLR&2.0.50727;&.NET&CLR&3.5.30729;&.NET&CLR&3.0.30729;&Media&Center&PC&6.0;&.NET4.0C;&.NET4.0E;&Tablet&PC&2.0)&
话说IE9兼容性视图是模拟IE7的行为,那么IE9兼容性视图与IE7有没有区别呢?肯定是有区别的,即使是IE9中的IE7标准模式,与原生的IE7在渲染上也是有区别的,具体我们暂不去深究。
那么既然IE9兼容性视图的版本号跟IE7相同,如何才能判断当前是IE9兼容性视图,还是纯正的IE7呢?其实很简单,只需要判断浏览器的用户代理(User-Agent)字符串中是否包含Trident即可。首先检测MSIE的版本号是否为7.0,然后再判断是否含有Trident字串,若包含则为IE9兼容性视图,否则则为纯正的IE7。
小结:至此,你应该了解了什么是浏览器模式、什么是文档模式以及它们之间的区别了,另外还了解了IE9兼容性视图与IE9以及IE7的区别。
控制默认的渲染方式
当Internet Explorer 9遇到未包含X-UA-Compatible标头的网页时,它将使用&!DOCTYPE&指令来确定如何显示该网页。 如果该指令丢失或未指定基于标准的文档类型,则Internet Explorer 9将以IE5模式(怪异模式)来显示该网页。
如果&!DOCTYPE&指令指定了基于标准的文档类型,则Internet Explorer 9将以IE9模式显示该网页,但出现以下情况时除外:
为该网页启用了兼容性视图。
该网页是在Intranet区域中加载的,并且已将Internet Explorer 9配置为使用兼容性视图来显示Intranet区域中的网页。
已将Internet Explorer 9配置为使用兼容性视图来显示所有网站。
已将Internet Explorer 9配置为使用
已使用开发人员工具覆盖在该网页中指定的设置。
该网页遇到了页面布局错误,并且已将Internet Explorer 9配置为,通过在兼容性视图中重新打开网页来自动从此类错误中恢复。
此外,可以使用下面的注册表项来控制Internet Explorer对未包含X-UA-Compatible标头的页面的处理方式。
HKEY_LOCAL_MACHINE&(or&HKEY_CURRENT_USER) &SOFTWARE &Microsoft &Internet&Explorer &Main &FeatureControl &FEATURE_BROWSER_EMULATION &iexplore.exe&=&(DWORD)&
其中DWORD值必须等于下列值之一:
值&&& 说明
7000 包含基于标准的 &!DOCTYPE& 指令的页面将以 IE7 模式显示。
8000 包含基于标准的 &!DOCTYPE& 指令的页面以 IE8 模式显示。
8888 页面始终以 IE8 模式显示,而不考虑 &!DOCTYPE& 指令。 (这可绕过前面列出的例外情况。)
关于IE浏览器确定文档模式的整个流程,可以参看这篇文章,文中详细阐述了整个流程与内部机制。
小结:仍然坚持使用&!DOCTYPE html&,可最大程度减小发生错误的几率。
文档模式的检测
在JavaScript中可以通过documentMode来检测文档模式,在IE6和IE7中是使用compatMode来确定文档模式的,这个属性自IE8开始已经被documentMode所替代。
那么,如果需要兼容IE6和IE7的话(必须的 ...),则相应的检测代码大致如下:
engine&=&null; &if&(window.navigator.appName&==&&Microsoft&Internet&Explorer&) &{ &//&This&is&an&IE&browser.&What&mode&is&the&engine&in? &if&(document.documentMode)&//&IE8&or&later &engine&=&document.documentM &else&//&IE&5-7 &{ &engine&=&5;&//&Assume&quirks&mode&unless&proven&otherwise &if&(patMode) &{ &if&(patMode&==&&CSS1Compat&) &engine&=&7;&//&standards&mode &} &//&There&is&no&test&for&IE6&standards&mode&because&that&mode &//&was&replaced&by&IE7&standards&&there&is&no&emulation. &} &//&the&engine&variable&now&contains&the&document&compatibility&mode. &}&
IE6和IE7中的compatMode有两个可能的值&CSS1Compat&和&BackCompat &,分别对应了IE6和IE7中的标准模式和怪异模式。上面的代码首先假定是怪异模式,然后再试图推翻假设。这里没有包含&IE6 标准模式&,因为它已经被IE7标准模式所替代,没有模拟的情况。
这里要注意,不同的文档模式对JavaScript也有一些影响,我们不必去深究不同文档模式对JavaScript有何种不同影响,只需要在编码时进行特定的特性检测即可。
小结:一般情况下是没必要进行文档模式检测的,对于样式兼容我们可以写CSS hack,而对于JavaScript来说,则更加推荐特性检测,而不是检测浏览器本身。
浏览器模式与文档模式之间的关系
浏览器模式可以决定页面默认的文档模式,但文档模式可能会受其他因素影响而改变,如上文所述。如果浏览器模式与文档模式设置不同的话,会不会有什么影响呢?
我们已经知道浏览器模式主要用于标识浏览器本身,原则上不会对页面渲染产生影响。但是我们又知道,浏览器模式可以影响条件注释,所以如果你的页面中有条件注释的话,那么浏览器模式的变化就会影响到页面渲染。
服务器端只能通过浏览器模式所标识的版本来确定客户端浏览器的版本,如果你将浏览器模式标识为IE9,但文档模式选择为IE7标准的话,就可能会有问题。不过这还要看服务器端是否有针对不同浏览器的处理策略,如果服务器端并未对不同浏览器的输出做差异化处理的话,那么这两个模式选项不同就不会有问题。
小结:如果服务器端对不同浏览器的输出做了差异化处理,那么浏览器模式和文档模式不一致就可能产生问题。
本文参考了大量现有文献,详细阐述了各种模式的区别以及它们之间的关系。相信通过上面的叙述,你已经能够区分这些浏览器模式或者文档模式以及它们之间的关系了,每节的结论在小结中已有阐述,希望能够对你有所帮助。
推荐阅读相关主题:
网友评论有(0)
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章& & &&在浏览器的发展历史中,出现过多家厂商争夺市场,导致同时存在两种标准;后W3C出面制定了HTML5,总算结束纷争。而某些网站却仍采用原有标准,为了兼容在IE8 &IE9中变出现了兼容浏览模式,英文为Compatibility View Mode。《这个周末要仔细的把这几种模式学习一下》
& & & 其实据我目前的理解,设置兼容模式就是设置浏览器对网页的呈现方式,也就是指定浏览器的渲染方式。如果在用IE9打开某一个网页时,&在&刷新&图标的前面,出现一个像被撕裂的纸张一样的图标,如下图中粉色圆圈内的图标。就表明需对当前的网页进行兼容性显示。
& & & &现在就说明下如何设置浏览器的兼容模式,先说明手动设置方式,再说明它的注册表位置。
& & &1)对某一个指定的网页进行兼容性设置
& & & & &&在当前需设置的网页内,按下F12快捷键;
& & & & & 此时会弹出开发者工具窗口,点击&Browser Mode&,选中&IE9 Compat View&,如图2所示;
& & & & &选中后,网页将会自动重新加载,且上图粉色圆圈内的图标也将消失。
& & & &&这种方法有一个缺点,就是即便是打开同样的网页,第二次打开时仍需重新设置一次,浏览器无法记住当前的操作。
& & & & & & & & & & & & & & & &图2 &设置网页的兼容性
& & & & & &2)对所有的网页都启用兼容模式
& & & & & &打开IE9或IE8,点击快捷键ALT;
& & & & & &此时IE的菜单栏就会浮现,如图3所示;
& & & &图3&浏览器兼容模式设置
& & & & & &左键点击&Tools&---&Compatibility View Settings选项,会弹出Compatibility&View的设置窗口。
& & & &若采用这种方式,不需要对浏览器进行重复设置。
& & & &手动设置完毕后,可以通过设置前与设置后的注册表对比,找到兼容模式在注册表中的位置:
& & & & HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation的AllSitesCompatibilityMode;
若其为1,则表明当前对所有的网页采用兼容模式;若其不存在或为0,这表明当前没有设定兼容模式。
阅读(...) 评论()您的位置: >
IE浏览器如何将网站添加到兼容模式列表
有不少Win10用户使用IE浏览器浏览一些网站时,发现网站在IE浏览器上显示出现一些问题。微软当然考虑到这个问题,我们可以将网站添加到IE的兼容模式列表,这样就能正常浏览该网站。
1.在IE上,点击设置,选择兼容性视图设置。
2.在输入框中输入网址。
3.点击添加。
4.最后关闭设置窗口,完成。
在Win10上使用IE,除了兼容性问题外,也有一些用户甚至出现无法打开IE的情况,大家可以点击链接去查看解决方法。
【IE浏览器如何将网站添加到兼容模式列表】相关的文章}

我要回帖

更多关于 qq浏览器设置兼容模式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信