javascript - IE 与 Chrome 怪异模式

标签 javascript html google-chrome internet-explorer quirks-mode

如果我正确理解 IE 文档模式:

  • 怪异模式:

采用IE版本<=5的HTML+css渲染引擎

  • 然后我们有一些 XU 兼容模式:

如 ie6,7,8 等

  • 然后是标准模式:

它使用当前的实现

(为了简单起见,我没有提及半标准模式)

但是 Chrome 呢?
我的意思是怪异模式指的是哪个版本, 一定是那些没有Html + css标准的版本 我想但实现得当......

另外,怪异模式对 javascript 有影响吗? 执行 ?

感谢任何帮助。

最佳答案

首先,不,没有 IE6 兼容模式。 XU 兼容模式从 IE7 模式开始。

现在,回答您的问题:所有主流浏览器都已实现怪异模式,并且将在网站不提供 DOCTYPE 或使用触发怪异模式的情况下使用。

您可以通过检查document.compatMode ===“BackCompat”来检查任何现代浏览器中的怪异模式

但是,怪异模式的主要问题之一是它在所有浏览器之间不一致。特别是,旧版本的 IE 将以与其他浏览器不同的方式呈现怪异模式页面。

此外,IE认为怪异模式是IE5.5的兼容模式。因此,它禁用了在更高版本中实现的大部分浏览器功能,以便页面的呈现方式尽可能接近 IE5.5 中的呈现方式。其他浏览器不会这样做;对于他们来说,怪异模式只是更改一些默认样式的情况(box-sizing 是主要的);它们不会禁用怪异模式的任何功能,因此它们呈现的怪异模式页面与 IE 完全不同。

除上述内容外,IE11 与早期 IE 版本又有所不同。 IE11有两种独立的怪异模式:一种是上面描述的IE5兼容模式;另一个旨在与其他浏览器中的怪异模式兼容。这两种模式可以通过不同的方式触发,但可能会令人困惑,而且并不总是很明显您会得到哪一种。

由于所有这些原因,您应该避免怪异模式。坚持使用标准模式,您将在所有浏览器中获得(相当)一致的渲染。

关于javascript - IE 与 Chrome 怪异模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37098986/

相关文章:

javascript - 如何向用户隐藏 JavaScript 变量?

javascript - $element.click 与 $('element' ).click

html - 使用 chrome 检查响应式设计

JavaScript .scroll 函数不起作用

javascript - 为什么 isNaN(123.) 返回 false?

jquery - 平滑背景图像的视差滚动

html - 如何使用CSS定位 ionic 按钮

javascript - 使用 jQuery、JS 或 PHP 下载目录中的所有文件?

javascript - 如何使用 Puppeteer 设置、更改或阻止时区(系统时间)?

ruby - 在 OSX 上的 Chrome 中使用 WATIR 自动上传文件