琴妹8
侠客
侠客
  • 最后登录2019-10-25
  • 发帖数39
阅读:11380回复:3

[javascript]onbeforeunload报错自定义事件is not defined

楼主#
更多 发布于:2018-11-13 17:26

报错出现:


1、点击所有表的导出按钮,操作完导出数据表,反馈导出成功的时候出现


2、点击右键选择重新加载的时候也会出现(等加载的时候就消失了,后面测试的时候会发现调用了一次)


 

图片:1.png



图片:1.1.png




代码:


图片:2.png



 


分析:


搜了很多资料,onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发。我在导出excel数据导出成功后会报错(一直就存在了,出现刷新页面不然不会消失),另外我右键点击重新加载得时候也会出现(接着页面加载的时候就没有了)


 


 


因为提示是not defined,而且是ReferenceError类型的错误(在你不知道的js书中有介绍不同类型的错),意思是判别作用域失败


测试第一步:


打印f==》在函数内外打印都是undefined,错误不存在了


如果把函数外的打印去掉,会继续报错


图片:3.png



页面加载到首页打印了:



图片:3.1.png





打开多个不同得表,测试点击导出excel:(点击右键重新加载得时候也打印了一次)

图片:3.2.png



测试第二步:这时候解决问题==》把变量声明放进函数内,如果去掉打印,报错仍在,有console不报错,不是理想的状态呀

图片:4.png



野路子:换种方法,给变量加引号,不报错了,这时候打印函数内外的f值均为空(不懂原理的我很懵)


图片:5.png





记录平时遇到的bug,对编程感兴趣,不断一点一滴学习中的程序媛,还请大家多多指教!
[琴妹8于2018-11-15 13:48编辑了帖子]
代码得海洋有些深,我这还不会游泳,就带着游泳圈,还要带个打气筒,时不时打点气,不让自己沉下去。 希望通过我们得交流和学习,能够慢慢有艘船,在大海中航行,不用为了活下去而忽略海上得风景,其实慢慢成长我们会发现,大海,真是个神秘得地方。 学习使我们优秀,我们一起加油吧!
琴妹8
侠客
侠客
  • 最后登录2019-10-25
  • 发帖数39
沙发#
发布于:2018-11-15 13:45
sunshine:楼主,图看不全回到原帖
不报错了但是懵逼的不知道为什么
代码得海洋有些深,我这还不会游泳,就带着游泳圈,还要带个打气筒,时不时打点气,不让自己沉下去。 希望通过我们得交流和学习,能够慢慢有艘船,在大海中航行,不用为了活下去而忽略海上得风景,其实慢慢成长我们会发现,大海,真是个神秘得地方。 学习使我们优秀,我们一起加油吧!
琴妹8
侠客
侠客
  • 最后登录2019-10-25
  • 发帖数39
板凳#
发布于:2018-11-15 13:43
sunshine:楼主,图看不全回到原帖
哇塞,编辑的时候看不一样
代码得海洋有些深,我这还不会游泳,就带着游泳圈,还要带个打气筒,时不时打点气,不让自己沉下去。 希望通过我们得交流和学习,能够慢慢有艘船,在大海中航行,不用为了活下去而忽略海上得风景,其实慢慢成长我们会发现,大海,真是个神秘得地方。 学习使我们优秀,我们一起加油吧!
sunshine
管理员
管理员
  • 最后登录2023-10-30
  • 发帖数170
  • 社区居民
地板#
发布于:2018-11-14 16:25
楼主,图看不全
游客


返回顶部

公众号

公众号