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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (7)

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

  1. 完全从用户隐藏。
  2. 在页面完全加载后创建。即应该对用户完全不显眼,并且不以任何方式影响图像和其他脚本等的加载。
提问于
用户回答回答于

你可以iframe像这样添加一个隐藏:

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

如果您需要在页面加载时执行此操作,则可以简单地将相关代码放在文档末尾的脚本标记中,或者通过window loadevent(window.onload = yourFunction;)将其挂起,尽管window load事件在页面加载过程中发生得相当晚。当然,就像浏览器上涉及JavaScript的许多事情一样,如果您使用PrototypejQueryClosure其他任何一个库,您可能会发现自己的生活会更容易一些,因为这样可以消除浏览器差异。(也就是说,上面的代码可以在任何我熟悉的浏览器上运行。)一旦页面加载完成,库通常会提供一种处理方式,但比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>

扫码关注云+社区