QuirksMode & 怪异模式JavaScript 实现

发布于 2024-08-06 13:02:06 字数 151 浏览 10 评论 0原文

我想问 QuirksMode 下的 Internet Explorer 是否具有与正常模式下的 IE 不同的 JavaScript 实现(当 doctype 正确定义时)。

JavaScript 代码在 QuirksMode 和正常 IE 模式下的行为方式是否可能不同?

I would like to ask if Internet Explorer in QuirksMode has a different JavaScript implementation than IE in a normal mode (when doctype is correctly defined).

Is it possible that a JavaScript code will behave in a different way in QuirksMode and in normal IE mode?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

撕心裂肺的伤痛 2024-08-13 13:02:06

是的

最明显的区别之一是,在怪异模式下,BODY (document.body) 被认为是根元素,而在标准模式下(以及它的本来面目)- 根元素是 HTML (文档.文档元素)。

例如,这会影响视口尺寸通常的计算方式;在标准模式下,可以使用 document.documentElement.clientHeight,而在特殊模式下 - document.body.clientHeight - 来获取视口的高度。

检测此行为很容易 - document.documentElement.clientHeight == 0 - 会告诉我们 documentElement 不是根元素,并且该正文应该使用。

当然,其他常见的怪异模式差异(例如分配无单位 CSS 值)会导致不同的结果。在异常情况下,这些值通常会被成功分配,而在标准模式下 - 它们会被忽略。

Yep.

One of the most noticeable differences is that in quirks mode, BODY (document.body) is considered to be root element, whereas in standard mode (and the way it's meant to be) - root element is HTML (document.documentElement).

This, for example, affects the way viewport dimensions are usually calculated; in standard mode, one would use document.documentElement.clientHeight, while in quirks - document.body.clientHeight - to get height of a viewport.

Detecting this behavior is easy - document.documentElement.clientHeight == 0 - would tell us that documentElement is not the root element, and that body should be used instead.

And of course other usual quirks mode discrepancies, such as assigning unitless CSS values, result in a different outcome. When in quirks, such values are traditionally assigned successfully, whereas in standards mode - they are ignored.

画▽骨i 2024-08-13 13:02:06

JavaScript 的行为不应有不同;然而,JavaScript 操作的 DOM 对象可能有不同的行为。

JavaScript should not behave differently; however, the DOM objects that JavaScript operates on may have different behaviors.

通知家属抬走 2024-08-13 13:02:06

在 Internet Explorer 8 中确实如此,当询问 document.getElementById('foo') 时,完全标准模式不再获取 以及在哪里(IIRC) setAttribute 和其他朋友已修复。

It certainly does in Internet Explorer 8 where full standards mode no longer gets <a name="foo"> when asked document.getElementById('foo') and where (IIRC) setAttribute and friends are fixed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文