使用 jQuery 更改 X-UA-Compatible Meta Tag



是否可以使用 jQuery 更改 X-UA 兼容元标记?我目前正在处理一个页面,该页面将通过iFrame嵌入到另一个页面上。父文档当前将 X-UA 兼容标签设置为 Edge,这会完全破坏我的框架。我希望以某种方式强制父文档重新加载页面,但应用 IE8 标准。

现在我正在打电话

$("meta[name=X-UA-Compatible]", top.document).attr('content', 'IE=8'); 

这不起作用。我开始认为这根本不可能,因为即使在我正在处理的框架内,我也无法以显着改变 IE9 解析它的方式更改此属性。

我正在看这张图表:https://i.stack.imgur.com/e5gPv.png,似乎我只能将帧切换到 Quirks 或 IE9,这非常不方便。有人有什么想法吗?也许有一个我根本没有看到的ajax解决方案。

所以我终于想通了,如果你需要重新加载框架,这是需要放在框架HTML中的代码。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
if($('meta[http-equiv=X-UA-Compatible]', top.document).attr('content')!='IE=8') 
{
//alert('adjusting IE compatibility');
$('meta[http-equiv="X-UA-Compatible"]', top.document).attr('content', 'IE=8');
$('meta[http-equiv="X-UA-Compatible"]').attr('content', 'IE=8');
$('#FRAMEID',window.parent.document).attr('src',$('#FRAMEID',window.parent.document).attr('src'));
}
</script>

它仍在进行测试,以确认解析器合法更改,但目前这是我们得到的最好的快速修复。

在你的代码行中,你缺少"[name=X-UA-Compatible"后面的括号。
这可能是问题所在吗?

另外,您是否无法控制首页的代码,并且它是否位于同一域中?

最新更新