Javascript:在页面加载后添加iframe元素

Edd*_*dyR 26 javascript

使用Javascript我需要找到添加iframe元素的最佳方法:

  1. 完全隐藏在用户之外.
  2. 页面完全加载后创建.ie应该对用户完全不显眼,并且不以任何方式影响图像和其他脚本等的加载.

T.J*_*der 62

您可以iframe像这样添加隐藏:

var iframe = document.createElement('iframe');
iframe.style.display = "none";
iframe.src = /* your URL here */;
document.body.appendChild(iframe);
Run Code Online (Sandbox Code Playgroud)

如果您需要在页面加载时执行此操作,您只需将相关代码放在文档末尾的脚本标记中,或通过window loadevent(window.onload = yourFunction;)将其挂钩,尽管window load事件发生在页面加载过程的后期.当然,就像在浏览器上涉及JavaScript的许多事情一样,如果你使用像Prototype,jQuery,Closure其他几个库这样的库,你会发现你的生活会更容易,因为这些可以消除浏览器的差异.(也就是说,上面的代码可以在我熟悉的任何浏览器上运行.)一旦页面加载,库通常会提供一种处理方式,但比window load通常情况更早.jQuery提供了ready功能; Prototype提供了这个dom:loaded活动; 等等

例如,如果你把它放在body标签的末尾,它将在其他所有内容加载后创建iframe (包括所有图像,window load直到所有图像都加载后才会触发):

<script type='text/javascript'>
window.onload = function() {
    var iframe = document.createElement('iframe');
    iframe.style.display = "none";
    iframe.src = /* your URL here */;
    document.body.appendChild(iframe);
};
</script>
Run Code Online (Sandbox Code Playgroud)