打开开发人员模式后,我将访问站点A,并将文档模式设置为Edge (默认值)。当在该站点上链接到站点B时,我看到IE自动将文档模式降级为5(!),破坏了站点。此外,不能再将文档模式更改为10或9(它位于站点A上),而只有5、6、7和edge可用。
站点B的头部设置了这个标签:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">Internet Explorer没有站点B的可弥补模式设置。
我在这里完全迷路了,是什么原因使IE降低了它的文档模式呢?
发布于 2015-10-31 03:08:59
我觉得这可能是<!DOCTYPE>的问题。对于IE11,文档模式被认为是不推荐的,微软正在使用<!DOCTYPE>来呈现页面。
如果一个站点有以下<!DOCTYPE>声明,那么它将以标准模式呈现:
HTML 4.0及更高版本
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/html4/strict.dtd"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">有或没有系统标识符的XHTML<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">未知<!DOCTYPE html>
如果一个站点有以下<!DOCTYPE>声明,那么它将呈现为“几乎标准”模式(IE7中的标准模式):
XHTML过渡性或框架集
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhmlt1-transitional.dtd">具有系统标识符的HTML4.0或HTML4.01过渡或框架集<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
如果一个站点有以下<!DOCTYPE>声明,那么它将以古怪模式呈现(又名IE 5):
HTML 4及更低,或没有DOCTYPE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">无
(上述清单的来源。)
如果站点B没有文档类型,或者是最后一个列表中的一个文档类型,它将以与IE5相同的古怪模式呈现。
https://stackoverflow.com/questions/33081397
复制相似问题