读者应熟练掌握JavaScript的基本理念,确保自己既可以快速掌握使用JavaScript,也可以及时了解和使用JavaScript语言的新特性。......
2025-09-30
网页卸载是指与load相反的事件,即beforeunload和unload。unload事件是指网页刷新、跳转、关闭等行为触发浏览器将当前网页卸载。beforeunload事件发生在卸载之前。
动手写15.4.7
执行15.4.7.html,输出结果到网页,如下图所示。
图15.4.8 网页卸载事件
发生unload事件时,网页的所有资源会立刻释放,向服务器发送请求几乎都会失败,此时只能完成一些可以立刻完成的操作,比如缓存资源、清理Cookie等。
在unload事件发生前,会触发beforeunload事件。如果在beforeunload事件中,event.returnValue不为空,是非空字符串,那么浏览器会显示一段提醒文字,即event.returnValue的值,用户可以选择继续关闭网页还是留在当前页面。beforeunload常用于提醒用户数据未完成保存,需要继续确认是否保存。
动手写15.4.8
(https://www.chuimin.cn)
执行15.4.8.html,输出结果到网页,如下图所示。
图15.4.9 beforeunload事件(Chrome)
设置了beforeunload事件的页面,浏览器会提醒数据可能不会被缓存。部分广告网站为了防止
用户关闭网页,故意展示一段夸大其词的文字,如下图所示。
图15.4.10 beforeunload事件(IE)
为了避免网站显示迷惑性的文字,吓唬用户,部分浏览器全部使用统一的文字描述,比如图15.4.9提示“系统可能不会保存您所做的更改”。
相关文章
读者应熟练掌握JavaScript的基本理念,确保自己既可以快速掌握使用JavaScript,也可以及时了解和使用JavaScript语言的新特性。......
2025-09-30
图12.6.3构造继承采用构造继承的方式避免了在多个子类实例共享父类实例,但也导致子类实例不能继承父类的原型,因此child instanceof Supper等于false。图12.6.4实例继承相比于构造继承,实例继承虽然能够从父类获取原型属性和方法,但产生的问题更加严重,它修改了实例与构造函数的对应关系,导致new Child()返回的是child对象而不是Child的实例。......
2025-09-30
匿名函数也叫闭包函数。相对于具名函数,匿名函数没有名称,需要复制给变量或作为参数传递,或者作为立即调用函数表达式。匿名函数的语法格式与普通函数一样,只是缺少函数名。匿名函数应用范围广泛,具有很强的灵活性。图7.1.7匿名函数使用场景◇ 声明匿名函数直接赋值给customFunction(),该函数除了没有名称,其他地方与具名函数一致,可以重复使用。......
2025-09-30
整个行为类似于气泡从水中冒出,因此称为事件冒泡。事件捕获也是事件传播机制,与事件冒泡传播方向完全相反,相关内容将在下一节介绍。动手写15.1.3执行15.1.3.html,输出结果到网页,如下图所示。图15.1.3事件冒泡依次对document、
、图2.3.1JavaScript代码块2.3.1.html有三个代码块,每一个代码块都可以随时访问当前代码块以及之前的代码块中的变量和函数。动手写2.3.2与动手写2.3.1相比,在第二个