在你被某个“男人是鳝变的”广告吸引到某个游戏里后,在游戏里打鸡打狗,升级抢怪后,终于有点疲惫了,想关下浏览器休息下时,是不是会被关闭前的弹框吸引,然后继续在游戏大杀四方,成就人生巅峰呢?
那这个弹框是怎么实现的呢?
就是我要说的onbeforeunload,这个事件很好的实现了关闭页面前继续XX用户的目的。
但是onbeforeunload本身并非W3C DOM-Event标准事件,按照BX2047: 各浏览器对 onbeforeunload 事件的支持与触发条件实现有差异的说法,onbeforeunload 事件可由以下这些条件触发的
那为啥我要提到这个触发的条件呢?
缘起是因为我们有个小伙伴,某天将onbeforeunload事件放到了页面上
然后我们很多页面的插件的a标签点击事件都是使用javascript:;的伪协议,导致了onbeforeunload事件调用的方法不断触发。
找啊找啊找,找了半天,最后发现是这个onbeforeunload事件导致的。
在此提各位个醒,尽量就不要使用不标准的事件。
如果你控制不了,一定要使用这个onbeforeunload,那可以尽量不使用a标签。一定要使用呢,就要注意了,好好看看有没符合上面表格的触发条件。
————
前端·小h
纸上得来终觉浅,绝知此事要躬行