如何检测所有javascripts都加载到页面中

时间:2014-05-13 21:12:44

标签: javascript

我有一个包含多个portlet的门户页面。我的portlet和几个第三方portlet都可以有几个javascript文件或脚本标记。

我的问题是如何检测页面中是否已完全加载所有javascripts。

提前谢谢。

注意:我更新了问题以明确说明: 我的portlet是门户网站页面正文标记中的div;每个第三方portlet都在一个iframe中,该iframe有正文标记。

我想要做的是,当加载所有第三方portlet的所有javascripts时,我的partlet将触发​​请求。

2 个答案:

答案 0 :(得分:0)

仅在加载文档时运行:

if (document.readyState == "complete") {
...
}

答案 1 :(得分:0)

加载了<script>标记的脚本会同步加载,除非它们具有defer属性。这意味着它们会在</script>代码

之后立即加载

加载脚本的另一种方法是通过eval及其JS生成函数系列(就像你通过AJAX请求JS一样)。除非你知道需要加载的所有内容,否则无法检测到那些被执行的内容。

简短回答:无法知道所有脚本都已加载,因为同步加载的脚本(来自HTML)可能会异步加载另一个脚本。

如果您要通过<script>标记添加所有JS,则可以在上次关闭</script>标记后立即运行依赖于它们的代码