css - 使 IE 9 在没有 Doctype 的情况下工作在标准模式下

标签 css html internet-explorer doctype

我希望这里有人能帮助我。我知道在 IE 9 中,有 quirks mode 和 standard mode,如果我不定义一个 doctype 比如:

<!DOCTYPE html>

作为我的 html 的第一行,浏览器将进入怪癖模式。

这是问题所在,我正在用 HTML 编写一些东西,然后将其嵌入到另一个站点(我已经检查过,没有文档类型声明,该站点属于我的学校,所以我无法改变它)。

所以最后会变成这样

<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 中添加了内联样式(非常基本的样式)作为一个痛苦的解决方法。

这似乎是一个 corner-case,IE 9 没有预料到,这个问题在 Chrome、Firefox、IE 8 中不存在,正如我测试的那样。

无论如何,感谢大家的帮助!

最佳答案

为什么没有 <!DOCTYPE> ?这是最糟糕的选择。

<!DOCTYPE>声明必须是 HTML 文档中的第一件事,在 <html> 之前标签。 <!DOCTYPE>声明不是 HTML 标记。它是向 Web 浏览器发出的关于页面所用 HTML 版本的说明。

DOCTYPE(“文档类型声明”的缩写)通知验证器您正在使用哪个版本的 (X)HTML,并且必须出现在每个网页的最顶部。 DOCTYPE 是合规网页的关键组成部分:没有它们,您的标记和 CSS 将无法通过验证。

好的读物:

  1. > Fix Your Site With the Right DOCTYPE!
  2. > Recommended Doctype Declarations to use in your Web document.

关于css - 使 IE 9 在没有 Doctype 的情况下工作在标准模式下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12549915/

相关文章:

css - 带有 Twitter Bootstrap 问题的响应式 CSS

jquery - 提交时合并来自两个表单的值

html - Laravel Blade : Checkbox sends 'null' value to database

jQuery 代码在 Chrome 和 IE 中无法正常工作

css - 为 IE 格式化有序列表

CSS 可见性 :hidden, Jquery 抓取元素

CSS 垂直对齐和内联 block 问题

javascript - 如何设置整体Grid缩略图高度相等?

javascript - 当我在 php 中从数据库中检索数据并显示它时如何隐藏显示表中的密码字段

javascript - Internet Explorer 在将函数分配给 "onfocusout"事件时出现滞后