我希望这里有人可以帮助我。我知道在 IE 9 中,有怪癖模式和标准模式,如果我没有定义文档类型,例如:
<!DOCTYPE html>
作为我的 html 的第一行,浏览器将进入怪癖模式。
这是问题所在,我正在用 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
他们都没有为我工作。
有任何想法吗 ?
在这一点上真的很感激任何帮助。
提前致谢!
编辑:更新:
大家好,感谢您的帮助。我知道拥有 < html > ... < html > ... < /html > ... < /html > 是一种可怕的做法。然而,这是我的项目的一个限制,我无法控制它。另外,我只能操作内部的<html>..</html>。
我四处搜索,似乎没有“很棒”的解决方案,正如有人建议的那样,可以使用 Javascript 强制 IE 9 以标准模式运行,但这对我的项目来说并不理想。
我最终做的是剥离我的 html 页面的 css(这样浏览器是否在标准模式下运行都没有关系),相反,我在整个 HTML 中添加了内联样式(非常基本的样式)作为一个痛苦变通方法。
似乎这是 IE 9 没有预料到的极端情况,我已经测试过,Chrome、Firefox、IE 8 中不存在这个问题。
无论如何,感谢大家的帮助!