【发布时间】:2012-02-08 12:48:12
【问题描述】:
假设您有一个以浏览器的标准呈现模式呈现的页面。假设页面上有一个按钮,单击该按钮会下载一组外部 CSS 和 JavaScript 文件并创建一些 DOM 元素。
是否有可能在按下按钮并下载新的 CSS 和 JavaScript 并创建新的 DOM 后,页面的呈现模式会从标准变为怪异?
【问题讨论】:
标签: cross-browser standards-compliance quirks-mode
假设您有一个以浏览器的标准呈现模式呈现的页面。假设页面上有一个按钮,单击该按钮会下载一组外部 CSS 和 JavaScript 文件并创建一些 DOM 元素。
是否有可能在按下按钮并下载新的 CSS 和 JavaScript 并创建新的 DOM 后,页面的呈现模式会从标准变为怪异?
【问题讨论】:
标签: cross-browser standards-compliance quirks-mode
简短回答:我不知道。
长答案:您也许可以利用浏览器特定的“功能”并说服浏览器从标准更改为怪癖,但这可能会涉及一些讨厌的黑客攻击和无法维护的编码实践。 W3C 有一个名为 DOMImplementation (link to specification) 的接口,它向 DOM2 添加了一些文档级函数,但至于它们的有效性我不能说。
但是,这个答案的关键在于,您首先应该确切地质疑为什么需要怪癖模式。理想情况下,您应该创建新的 DOM 元素以与标准模式兼容并完全避免整个混乱。考虑到 quirks 模式在浏览器之间可能会有很大差异,最好的办法是针对标准并根据具体情况处理不一致的情况。
【讨论】: