我有一個頁面,通過defer以下方式加載一些外部腳本: <script src="externalPlugin.js" defer></script>然后我有一些代碼jquery.ready來調(diào)用該腳本中的東西$(function() { $.externalPlugin();});到目前為止一切順利,99.9%的時間都有效。問題如果用戶導(dǎo)航離開頁面(點擊“刷新”,或者只是快速導(dǎo)航到另一個頁面),而externalScript仍在加載/執(zhí)行 - jQuery.ready仍然被調(diào)用(?。┎⑶绎@然會拋出此錯誤:$.externalPlugin is not a function或類似。我該怎么打?我嘗試添加一個beforeunload刪除ready綁定的處理程序window.addEventListener("beforeunload",function() { $(document).unbind("ready"); });但它不起作用。這不是一個大問題(畢竟用戶導(dǎo)航AWAY所以他不關(guān)心任何錯誤),但這仍然是有趣的行為。更新是的,我知道我可以等待定義甚至使用,<script defer onload='whatever()'>但我想知道是否有一種“全局”方式來解決這個問題 - 通過不調(diào)用.ready如果頁面被卸載 ...如果不是 - 我會說這是實際上是一個必須向jQuery團隊報告的錯誤,嗯?
卸載期間jQuery.Ready會觸發(fā) - 任何阻止這種情況的方法?
慕田峪4524236
2019-04-25 18:15:40