当前位置:  开发笔记 > 编程语言 > 正文

如何判断浏览器是否处于"怪癖"模式?

如何解决《如何判断浏览器是否处于"怪癖"模式?》经验,为你挑选了3个好方法。

假设您有一个页面具有相对严格的文档类型和HTML标记非常接近合规,但可能会以一些愚蠢的方式错过,可能是因为用户内容无法控制...说您正在处理内容管理系统或内容管理系统的主题,您可以在其中控制一些基本结构并需要一些javascript,但您不对其他所有内容负责.

当浏览器决定进入"怪癖"模式而不是使用更符合标准的引擎时,您如何判断(或:将决定什么)?

我正在为每个主流浏览器寻找答案,因为IE,Chrome,Safari和Firefox当然都会以不同的方式处理.一个单一的错误是否足以迫使它或你有一些余地?



1> Chris Ballan..:

Firefox和Opera中,您可以通过检查页面信息来确定您的浏览器是否处于"怪癖模式".

使用document.compatMode,将告诉您大多数浏览器的模式.

Chrome,Safari和IE中,在地址栏中运行此javascript:

 javascript:window.alert('You are in ' + (document.compatMode==='CSS1Compat'?'Standards':'Quirks') + ' mode.')

(请注意javascript:,由于最近的安全性更改,您需要在粘贴到地址栏后重新键入该部分)



2> Dave Webb..:

由于您可以在JavaScript中查询渲染模式,因此可以使用Bookmarklet来告诉您页面使用的渲染模式.

我发现这个渲染模式bookmarklet适用于我:

javascript:m=(document.compatMode=='CSS1Compat')?'Standards':'Quirks';window.alert('You%20are%20in%20'%20+%20m%20+%20'%20mode.');



3> Steerpike..:

对你的实际具体问题的完整答案是"一个单一的错误是否足以迫使它或你有一些回旋余地?" 是完全取决于错误.例如,



尽管没有真正出现错误,它们将强制在IE 6和7中使用怪癖模式(当文件的第一行不是声明时,它们只会完全抖动).可以在此处找到类型/怪癖的快速列表

尝试在HTML中粘贴以下行进行测试(非常糟糕的javascript行为我在这里传递 - 抱歉...确保这个从未上线:)

What mode am I?

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有