我们已经构建了一个基于javascript的小部件,我们的客户已嵌入到他们的网站中。他们声称它在IE7中的网站上不起作用,问题是页面顶部的doctype标题不同:
我们的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
他们的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
这两个标题是否存在差异,以及它们如何影响IE7的性能?
谢谢 -
答案 0 :(得分:2)
取决于它是如何被打破的。 JS不关心DOCTYPE,但是小部件的HTML可能。存在差异,但问题是怪癖模式与标准模式的可能性更大。
这是一个chart,其中DOCTYPE会在各种浏览器中触发哪些模式
答案 1 :(得分:1)
第二个doctype将在IE中触发Quirks模式。在这种模式下,它模拟了IE 5.x中的一些错误,因此它可以与199x时代的网站兼容。
这具有广泛的效果,包括在CSS中获取width
的含义错误(从IE6开始修复但仅在标准模式下修复)并使setAttribute
错误(从IE8修复)向前,但仅限于标准模式)。
答案 2 :(得分:0)
当doctypes设置不正确或没有正确显示时,IE一直是一个问题的罪魁祸首。我没见过ie 7经常这样做,但我知道IE 6很糟糕。您是否能够声明doctype是什么?