[英]JS Loading External Script and Configuring Locally
假設有人想將以下內容插入其網站:
<script type="text/javascript" src="https://foo.com/plugin.js"></script>
<script type="text/javascript">
Plugin.Setup({userId: 100});
</script>
在這種情況下,plugin.js創建一個“插件”對象,該對象具有“設置”方法。
問題是將拋出以下錯誤:
Uncaught ReferenceError: Plugin is not defined
這是可以理解的,因為您無法調用未定義對象的方法。
這種方法可以解決這個問題:
<script type="text/javascript" src="https://foo.com/plugin.js"></script>
<script type="text/javascript">
function initiatePlugin() {
Plugin.Setup({userId: 100});
}
window.addEventListener ? window.addEventListener('load', initiatePlugin) : window.attachEvent && window.attachEvent('onload', initiatePlugin);
</script>
但是,我看到其他插件可以逃脫這種事情。 例如,TypeKit具有以下嵌入代碼:
<script src="https://use.typekit.net/sgye3663.js"></script>
<script>try{Typekit.load({ async: true });}catch(e){}</script>
他們所依賴的是外部腳本https://use.typekit.net/sgye3663.js
加載速度比調用“Typekit.load”的本地腳本要快,並且在拋出錯誤的情況下,Typekit將永遠不會加載。
這是進行插件設計的正確方法嗎? 或者等待窗口加載事件會更好嗎?
最好等到頁面完全加載,然后從外部對象執行一個方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.