IE9 - 主页面中的Quirks模式和特定iframe中的“Internet Explorer 9标准”

时间:2015-05-20 09:28:44

标签: internet-explorer iframe internet-explorer-9 quirks-mode x-ua-compatible

我们有一个遗留网站,它在我们所有客户端的IE9中以Quirks模式运行:

enter image description here

另外,为了完整起见:

enter image description here

该网站由许多iframe组成,并出现了新的要求:
我需要创建一个新的iFrame,其中将使用bootstrap,我需要在 Internet Explorer 9标准中呈现此帧的内容(即仅在此iframe中禁用Quirks模式并呈现为通常)。

我试过把

<!DOCTYPE html> 

<meta http-equiv="X-UA-Compatible" content="IE=9">  

在iframe内部,但它无法正常工作。

1 个答案:

答案 0 :(得分:0)

在链接到<iframe src="..."></iframe>网址的标记中使用带有XML声明的HTML5 doctype:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="https://www.facebook.com/2008/fbml" xml:lang="en">
<!--...-->
</html>
  

因此,当XML内容托管在IFRAME中时,默认情况下不会自动生成树视图。但是,当浏览器在兼容性视图中运行时,IE会尝试更接近地模拟先前版本的行为,这就是在这些情况下仍然显示树视图的原因。

或XSLT:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="html5.xml"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns="http://www.w3.org/1999/xhtml"
                >
<xsl:output method="xml" encoding="utf-8" version="" indent="yes" standalone="no" media-type="text/html" omit-xml-declaration="no" doctype-system="about:legacy-compat" />

<xsl:template match="xsl:stylesheet">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="/">
  <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    </head>
    <body>
      These<br/>words<br/>are<br/>seperated<br/>by<br/>BRs
    </body>
  </html>
</xsl:template>

</xsl:stylesheet>

<强>参考