【问题标题】:Assigning load event to an Iframe将加载事件分配给 iframe
【发布时间】:2018-02-14 17:59:09
【问题描述】:

有以下代码

<iframe id="myframe" src="..."></iframe>

<script>
document.getElementById('myframe').onload = function() {
  alert('myframe is loaded');
};
</script>

iframe 是在单独的线程中加载的,因此可能不会触发警报,因为 iframe 内容可能会在我们在运行主线程的脚本中分配 onload 事件处理程序之前加载?

【问题讨论】:

    标签: html iframe


    【解决方案1】:

    您也可以这样使用它。 iframe 在主线程/进程中加载​​,而不是单独的。一旦加载,您的警报就会出现。

    <iframe id="myframe" src="..." onload="javascript:alert('myframe is loaded');"></iframe>
    

    【讨论】:

    • 不,检查 iframe 的经典行为。 aaronpeters.nl/blog/iframe-loading-techniques-performance 现在,像 chrome 这样的新浏览器已经改进了加载 iframe 内容的实现。因此,您需要单独搜索当前的浏览器实现。
    • 我现在真的很困惑。有两个类似的问题:[q1]stackoverflow.com/questions/46341015/… 和 [q2]stackoverflow.com/questions/45978160/…。在第一个用户 Sudeep nayak 的回答中明确指出 iframe 是在单独的线程中加载的。此外,在 q2 Yingrjimsch's 的回答中还建议 iframe 是在单独的线程中加载的。那么最终的答案是什么?
    • 每个浏览器都允许每个主机名服务器的连接列表。 iframe 与主页共享此内容。您的警报附加到 HTML 组件 IFRAME,一旦加载就会触发。您可以在此处阅读有关 iframe 行为的更多信息。 books.google.co.in/…
    • 你调用线程的东西实际上是一个嵌套的浏览上下文,它显示它自己的文档和它的活动会话,但与父级共享每个主机名的连接。 html.spec.whatwg.org/multipage/browsers.html
    猜你喜欢
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2015-05-27
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多