【发布时间】:2012-09-23 05:14:25
【问题描述】:
我希望这里有人可以帮助我。我知道在 IE 9 中,有 quirks 模式和标准模式,如果我没有定义一个 doctype,例如:
<!DOCTYPE html>
作为我的 html 的第一行,浏览器将进入 quirks 模式。
这就是问题所在,我正在用 HTML 编写一些东西,然后将其嵌入到另一个站点中(我已经检查过,没有 doctype 声明,该站点属于我的学校,所以我没有办法改变它)。
所以最后会是这样的
<html> .... </html> //the original website code
<!DOCTYPE html>//my doctype declaration
<html>... </html> //my html code
如您所见,我的 DOCTYPE 变得毫无用处。
不,我无法更改原始 html 代码,也无法强制它使用 iframe 或其他任何可能对我有帮助的东西。
所以我的问题是,有没有人强制 IE 9 在没有 DOCTYPE 的情况下以标准模式运行?
我试过了:
<html xmlns="http://www.w3.org/1999/xhtml"> //putting page in xhtml
<meta http-equiv="X-UA-Compatible" content="IE=9" />//forcing it like this
它们都不适合我。
有什么想法吗?
在这一点上非常感谢任何帮助。
提前致谢!
编辑:更新:
大家好,感谢您的帮助。我知道拥有 ... ... ... 是一种可怕的做法。然而,这是我的项目的一个限制,我无法控制它。还有,我只能操作内部的...
我四处搜索,似乎没有“很棒”的解决方案,正如有人建议的那样,可以使用 Javascript 强制 IE 9 以标准模式运行,但这对我的项目来说并不理想。
我最终做的是剥离我的 html 页面的 css(这样浏览器是否在标准模式下运行都没有关系),相反,我在整个 HTML 中添加了内联样式(非常基本的样式)作为一个痛苦的解决方法。
这似乎是 IE 9 没有预料到的一个极端情况,这个问题在 Chrome、Firefox、IE 8 中不存在,因为我已经测试过。
无论如何,谢谢大家的帮助!
【问题讨论】:
-
还请注意,您不能在单个 html 文档中包含您提到的结构:
<html>...</html><html>...</html>
标签: css html internet-explorer doctype