传统方式(考虑有点混乱;不适用于 XHTML-as-XML 主机页面;如果在页面加载后通过异步调用,将炸毁整个页面):
document.write('<iframe src="http://www.example.com/myframe" width="100" height="100"></iframe>');
或者使用innerHTML
预定义名称的页面上的元素:
document.getElementById('examplecomframe').innerHTML= '<iframe src="http://www.example.com/myframe" width="100" height="100"></iframe>';
或者使用 DOM 在当前之前插入<script>
(尽管如果延迟也可能无法预测):
(function() {
var iframe= document.createElement('iframe');
iframe.src= 'http://www.example.com/myframe';
iframe.width=iframe.height= 100;
document.getElementById('examplecomframe').appendChild(iframe);
})();
或者在当前脚本之前插入:
var scripts= document.getElementsByTagName('script');
var script= scripts[scripts.length-1];
script.parentNode.insertBefore(iframe, script);
我不会使用 jQuery 来包含第三方脚本。您必须将整个繁重的框架加载到封闭页面中,只是为了几行 JS。这可能会导致与主机页面使用的其他框架(或不同版本的 jQuery)发生冲突,这对于第三方脚本来说是非常粗鲁的。