为了账号安全,请及时绑定邮箱和手机立即绑定

卸载期间jQuery.Ready会触发 - 任何阻止这种情况的方法?

卸载期间jQuery.Ready会触发 - 任何阻止这种情况的方法?

慕田峪4524236 2019-04-25 18:15:40
我有一个页面,通过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团队报告的错误,嗯?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 512 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号