我有一个页面,通过defer以下方式加载一些外部脚本: <script src="externalPlugin.js" defer></script>然后我有一些代码jquery.ready来调用该脚本中的东西$(function() { $.externalPlugin();});到目前为止一切顺利,99.9%的时间都有效。问题如果用户导航离开页面(点击“刷新”,或者只是快速导航到另一个页面),而externalScript仍在加载/执行 - jQuery.ready仍然被调用(!)并且显然会抛出此错误:$.externalPlugin is not a function或类似。我该怎么打?我尝试添加一个beforeunload删除ready绑定的处理程序window.addEventListener("beforeunload",function() { $(document).unbind("ready"); });但它不起作用。这不是一个大问题(毕竟用户导航AWAY所以他不关心任何错误),但这仍然是有趣的行为。更新是的,我知道我可以等待定义甚至使用,<script defer onload='whatever()'>但我想知道是否有一种“全局”方式来解决这个问题 - 通过不调用.ready如果页面被卸载 ...如果不是 - 我会说这是实际上是一个必须向jQuery团队报告的错误,嗯?
添加回答
举报
0/150
提交
取消
