我在这里有一个尴尬的场景,这将是一个黑客,但我没有选择,所以请忍受我。我有一个第三方Web应用程序,其主页上嵌入了内容持有者。在内容持有者中,您可以指定自己的和Javascript。这是我可以进行HTML / javascript编辑的唯一地方。我无法访问页面的其余部分。
我正在处理的项目使用这些内容持有者来托管指向MyCustomWebPage的iframe。 MyCustomWebPage上有一个“X-UA兼容”元标记。不幸的是,由于它托管在iframe中,因此第三方Web应用程序页面设置似乎覆盖了MyCustomWebPage上的设置。这意味着我的“X-UA兼容”元标记无法正常/被忽略/等。
因此,我想知道在内容持有者加载时是否可以将“X-UA兼容”元标记附加到第三方Web应用程序的元素。它目前没有“X-UA兼容”Meta标签。我找到了以下关于如何从另一个stackoverflow帖子追加元标记的示例。
在我的内容持有者中,我现在有以下内容:
<script language="javascript">
//<![CDATA[
function metafix() {
var iefix=document.createElement('meta');
iefix.setAttribute("http-equiv", "X-UA-Compatible");
iefix.setAttribute("content", "IE=9");
var x = document.getElementsByTagName('head')[0];
alert(x);
document.getElementsByTagName('head')[0].appendChild(iefix);
}
metafix();
//]]>
</script>
<iframe style="WIDTH: 100%; HEIGHT: 515px" id="MyCustomWebPage" src="www.mycustomwebpage.web" width="100%"></iframe>
CDATA标记由第三方Web应用程序的内容编辑器自动插入。现在,我知道这段代码正在执行,因为当页面加载时,我会看到alert(x)。它说对象,所以我知道它正在寻找元素。问题是,“X-UA兼容”Meta标签拒绝附加到元素。做一个“查看源”确认了这一点。这就像appendChild(iefix)永远不会执行。
为什么会发生这种情况,我该如何强制执行该代码,以便将标记附加到第三方Web应用程序的元素中?