[英]How to detect all javascripts are loaded in a page
我有一個門戶網站頁面,其中包含幾個Portlet。 我的Portlet和幾個第三方Portlet都可以具有多個javascript文件或scripts標簽。
我的問題是如何檢測所有JavaScript是否已完全加載到頁面中。
先感謝您。
注意:我更新了問題以使其更加清楚:我的portlet在門戶網站頁面正文標記中為div; 每個第三方Portlet都位於具有body標簽的iframe中。
我想做的是,當所有第三方portlet的所有javascript都被加載時,我的partlet將觸發請求。
僅在加載文檔時運行:
if (document.readyState == "complete") {
...
}
除非具有defer屬性,否則使用<script>
標記加載的<script>
將同步加載。 這意味着它們會在</script>
標記后立即加載
加載腳本的另一種方法是通過eval
及其JS生成函數系列(例如,當您通過AJAX請求JS時)。 除非您知道需要加載的所有內容,否則無法檢測到它們已執行。
簡短的答案:無法知道所有腳本都已加載,因為同步(從HTML)加載的腳本可能異步加載另一個腳本。
如果要通過<script>
標記添加所有JS,則可以在最后一個</script>
標記后立即運行依賴於它們的代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.