46

我想<meta http-equiv="X-UA-Compatible" content="IE=edge">为特定页面添加。

HTML但是我的页面在一个标签内呈现。单击不同的模板时,只有内容会发生变化。所以我不能添加<meta>in<HEAD>部分。

有什么方法可以添加<meta http-equiv="X-UA-Compatible" content="IE=edge">usingjavascript吗?

4

5 回答 5

77

您可以添加它:

var meta = document.createElement('meta');
meta.httpEquiv = "X-UA-Compatible";
meta.content = "IE=edge";
document.getElementsByTagName('head')[0].appendChild(meta);

...但如果在运行时,浏览器已经决定如何呈现页面,我不会感到惊讶。

这里真正的答案必须是首先从服务器输出正确的标签。(遗憾的是,如果你需要支持 IE,你不能只是没有标签。:-|)

于 2013-09-24T12:59:10.523 回答
21
$('head').append('<meta http-equiv="X-UA-Compatible" content="IE=Edge" />');

或者

var meta = document.createElement('meta');
meta.httpEquiv = "X-UA-Compatible";
meta.content = "IE=edge";
document.getElementsByTagName('head')[0].appendChild(meta);

虽然我不确定它是否会产生影响,因为它将在页面加载后生成

如果要为页面描述添加元数据标签,请使用 DNN 页面的设置来添加描述和关键字。除此之外,修改 HEAD 时最好的方法是通过第三方模块将代码动态注入 HEAD。

可在http://www.dotnetnuke.com/Resources/Forums/forumid/7/threadid/298385/scope/posts.aspx找到

如果幸运的话,这可能允许其他元标记

额外的 HEAD 标签可以放置在页面设置 > 高级设置 > 页面标题标签中。

可在http://www.dotnetnuke.com/Resources/Forums/forumid/-1/postid/223250/scope/posts.aspx找到

于 2013-09-24T13:12:14.460 回答
10

像这样 ?

<script>
var meta = document.createElement('meta');
meta.setAttribute('http-equiv', 'X-UA-Compatible');
meta.setAttribute('content', 'IE=Edge');
document.getElementsByTagName('head')[0].appendChild(meta);
</script>
于 2013-09-24T12:59:59.163 回答
1

尝试

document.head.innerHTML += '<meta http-equiv="X-UA-..." content="IE=edge">'

于 2020-06-09T20:30:45.823 回答
1

正如@marcellothearcane 所指定的,对于现代浏览器,您还可以使用:

var meta = document.createElement('meta');
meta.httpEquiv = "X-UA-Compatible";
meta.content = "IE=edge";
document.head.appendChild(meta);

此处支持的浏览器:document.head

于 2021-08-18T16:41:38.387 回答