【发布时间】:2012-10-28 03:46:13
【问题描述】:
假设您将一个 iframe 动态插入到从跨域获取一些资源的页面中。它会阻止任何当前正在执行的 javascript,还是 javascript 在加载和呈现其内容时继续运行?
【问题讨论】:
标签: javascript html iframe asynchronous
假设您将一个 iframe 动态插入到从跨域获取一些资源的页面中。它会阻止任何当前正在执行的 javascript,还是 javascript 在加载和呈现其内容时继续运行?
【问题讨论】:
标签: javascript html iframe asynchronous
不,它不会阻塞 - 框架的内容将异步加载,就像几乎任何其他类型的内容一样。
【讨论】:
只是为黄昏的回答添加一点:虽然 iframe 确实不会阻止加载主页中的内容,但它会做的是将主页的 onload 事件的调度推迟到它自己的 onload 之后事件被调度。
如果您有一些由 onload 触发的重要脚本,这可能是一个问题,并且如果用户注意到浏览器仍然指示它正在加载页面,则可能会给用户带来加载缓慢的印象。
如果您想规避这些问题并且可以忽略可能禁用了 JavaScript 的用户,则可以使用 JS 将 iframe 元素动态写入 DOM。
【讨论】: