0

我正在尝试获取通过 Javascript 添加 iframe 的 javascript。它在标签之前创建 iframe。

你可以看到jsfiddle 演示。 但我不想添加标签。我只想添加外部 .js 文件,它可以自己做所有事情!

4

3 回答 3

2

用这个

var newElem = createElement('script');
newElem.setAttribute('src',      'http://example.com/js/script.js');
newElem.setAttribute('type',     'text/javascript');
newElem.setAttribute('language', 'JavaScript');
document.getElementById('IdFromTheHeadElem').appendChild(newElem);
于 2013-04-18T07:45:57.720 回答
0

您可以使用创建标签

document.write("<iframe..............>");

编辑:我在 jQuery 的评论中写的解决方案:

在您的 JS 文件中:

$(function(){
    $('#container').html('<iframe........');
});

在您的 HTML 中:

<div id="#container"></div>

将其包含在您的标题中:

<script src=".............yourscriptname.js"></script>
于 2013-04-18T07:42:16.400 回答
0

从您的 jsfiddle 看起来您应该这样做(在纯 JS 中)以避免直接在 HTML 代码中定义 iframe:

var iframe = document.createElement('iframe');
iframe.id = 'iframeID';
document.body.appendChild(iframe);
// the rest is manipulating this iframe
iframe.contentDocument.write("<html><head></head><body><div id='foo'>The div</div></body></html>");
iframe.contentDocument.getElementById('foo').innerHTML = "Greetings from outside!";

jsfiddle 上的代码(我将代码包装在一个闭包中以防止污染全局命名空间)

document.body.appendChild(iframe);应该更改为其他内容,具体取决于您要将其放置在页面内的位置(例如document.getElementById('some-div-id').appendChild(iframe);

于 2013-04-18T17:18:18.280 回答