我在FF或Chrome中没有遇到任何问题,但是IE9在这个方法上抛出了一个错误。我认为我可以使用它,因为它在这里已经被证明是受支持的:
http://www.quirksmode.org/dom/w3c_core.html
然而,在实践中似乎并非如此。话虽如此,我可以用什么来代替它呢?
编辑:下面是它失败的确切行:
var maximize_buttons = document.querySelectorAll(".maximize");这是我第一次尝试使用querySelectorAll()。浏览器版本号为9.0.8112.16421
编辑(再次):我已经在两台不同的计算机上验证了这个错误。然而,他们有一个共同点--他们都在VMware上运行Windows7。这是相关的吗?
浏览器模式为IE9,但默认情况下文档模式设置为quirks。将其更改为Internet Explorer9标准解决了这个问题,但如果quirks是默认的,我仍然需要让它工作。
发布于 2012-11-15 06:49:34
您需要使用IE9的html5文档类型才能使用querySelectorAll() javascript方法。doctype看起来像这样,应该放在站点中所有页面的第一行。
<!DOCTYPE html>发布于 2015-12-11 20:37:21
正如其他答案所建议的那样,这与怪癖与标准模式无关。
这与所谓的“兼容模式”有关。默认情况下,通过IE11的IE9对intranet站点使用“兼容模式”,并根据您的设置与其他站点使用“兼容模式”。
为了告诉IE你的站点实际上使用的是web标准,它也不应该妨碍自己:
IE=Edge的X-UA-Compatible标头,或meta标记添加到head元素标记的顶部:<代码>G29
当然,你也应该有一个doctype,但是仅仅有一个doctype并不能解决兼容模式的问题。
发布于 2012-11-15 07:33:54
运行quirksmode模式就像运行非标准的IE6。
你必须,必须,必须(!)在每个超文本标记语言页面的顶部有一个文档类型:<!doctype html>
所有相关的(以及许多不相关的)浏览器都支持它。
没有它..。...well...怪异模式..。
你永远不会想要在怪异模式下运行任何东西,因为你永远不会知道什么样的JS/CSS/html5支持会突然消失或行为怪异……
所以别这么做。
https://stackoverflow.com/questions/13171247
复制相似问题