我有一个包含多个portlet的门户页面。我的portlet和几个第三方portlet都可以有几个javascript文件或脚本标记。
我的问题是如何检测页面中是否已完全加载所有javascripts。
提前谢谢。
注意:我更新了问题以明确说明: 我的portlet是门户网站页面正文标记中的div;每个第三方portlet都在一个iframe中,该iframe有正文标记。
我想要做的是,当加载所有第三方portlet的所有javascripts时,我的partlet将触发请求。
答案 0 :(得分:0)
仅在加载文档时运行:
if (document.readyState == "complete") {
...
}
答案 1 :(得分:0)
加载了<script>
标记的脚本会同步加载,除非它们具有defer属性。这意味着它们会在</script>
代码
加载脚本的另一种方法是通过eval
及其JS生成函数系列(就像你通过AJAX请求JS一样)。除非你知道需要加载的所有内容,否则无法检测到那些被执行的内容。
简短回答:无法知道所有脚本都已加载,因为同步加载的脚本(来自HTML)可能会异步加载另一个脚本。
如果您要通过<script>
标记添加所有JS,则可以在上次关闭</script>
标记后立即运行依赖于它们的代码