1

我试图理解为什么,如果我在我的 aspx 页面上做出这个声明......

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在 DOM 中,它是这样通过的

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Strict//EN">

令人沮丧的原因是 IE9 会将其扔进 IE7 标准和 IE9 兼容模式。在 IE 8 中,它很好并且不这样做。这是一个大问题,因为它破坏了我正在创建的应用程序,直到我强制 IE9 进入 IE9 标准,我不能指望整个公司的客户每次使用该应用程序时都这样做。

这个应用程序使用 $.ajax 调用,虽然这个问题发生在页面加载时 jquery 还没有被调用。

当我做一个简单的视图源并验证它时,它很好。没有错误。当我验证“dom”源时,这是一场灾难。为什么??解决此问题的方法或解决方法?

谢谢!

4

2 回答 2

1

While this might not be an ideal solution for you, what has come to work for me is just to use the following doctype. Deceptively simple:

<!DOCTYPE html>

That's it!

There's probably reasons why that is a bad idea (or not what you want) but give it a try if you can in your situation and let me know if it disappoints.

Update:

Other things I've learned about this is that even an empty line or a comment prior to the doctype declaration can cause IE to throw its hands up.

于 2012-04-12T14:10:04.453 回答
0

回答:啊哈!这必须是头脑中的“第一个”条目,它解决了问题。“第一”也很重要,不知道为什么,但我尝试了多种方式,这是唯一可行的方式。

于 2012-04-13T12:51:00.863 回答