javascript将metacharset添加到iframe头

时间:2017-12-14 13:06:16

标签: javascript iframe meta

嗨我有这样的iframe

<iframe id=iframeId">
<html>
<head></head>
<body></body>
</html>
</iframe>

我想在iframe的头部添加一个元标记。我对此有所启发,但没有任何效果。 append element in head of an iframe using jquery 所以我想要这个:

<iframe id=iframeId">
    <html>
    <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head>
    <body></body>
    </html>
    </iframe>

我试着做

var meta = document.createElement('meta');
    meta.httpEquiv = "Content-type";
    meta.content = "text/html; charset=UTF-8" >

 $('head', window.frames['iframeId'].document).append(meta);

但我在控制台中出错了。 document为null。

PS:我在IE中

1 个答案:

答案 0 :(得分:0)

您的代码有一些语法错误,并且您不需要jQuery。

HTML代码:

<iframe id="myIFrame">
<html>
<head></head>
<body></body>
</html>
</iframe>

Javascript代码:

var meta = document.createElement('meta');
meta.httpEquiv = "Content-type";
meta.content = "text/html; charset=UTF-8";

var doc = document.getElementById('myIFrame').contentWindow.document.head;
doc.append(meta);

我在JSFiddle上做了一个工作示例,因为stacksnippet不允许我使用IFrame,这里是:https://jsfiddle.net/Ln7s0vg8/1/