使用document.createElement("script") 同步載入腳本檔案
非同步載入外部腳本可以保證頁面不會被檢索和解析腳本。但是,在某些用例中,您可能需要同步載入腳本檔案並立即使用它。
程式碼片段嘗試同步載入腳本檔案並從中呼叫函數。但是,它遇到了計時問題,因為腳本在呼叫函數時尚未載入和執行。
解決此問題需要認識到非同步載入腳本是標準方法。然而,在某些特定場景下,您可能需要手動控制載入過程。
自訂腳本載入函數
為了改善腳本載入過程,您可以建立一個自訂函數,將「onload」處理程序合併到建立的<script>中。元素。腳本載入成功後,將觸發「onload」函數,表示腳本已解析並可使用。 </script>
<code class="js">function Include(src) { var script = document.createElement('script'); script.onload = function() { console.log("Script " + src + " has been loaded."); }; script.src = src; document.getElementsByTagName('head')[0].appendChild(script); }</code>
使用範例
透過此自訂函數,您可以輕鬆地按順序包含和使用腳本。
<code class="js">Include('my1.js'); Include('my2.js'); myFunc1('blarg'); myFunc2('bleet');</code>
限制
請注意,同步腳本載入可能無法實現在所有情況下都理想。過度使用同步腳本會減慢頁面渲染速度並影響使用者體驗。通常建議優化非同步執行的腳本加載,以盡量減少效能影響。
以上是如何在 JavaScript 中同步載入腳本:為什麼以及何時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!