在你被某個“男人是鱔變的”廣告吸引到某個游戲里后,在游戲里打雞打狗,升級搶怪后,終于有點疲憊了,想關下瀏覽器休息下時,是不是會被關閉前的彈框吸引,然后繼續在游戲大殺四方,成就人生巔峰呢?
那這個彈框是怎么實現的呢?
就是我要說的onbeforeunload,這個事件很好的實現了關閉頁面前繼續XX用戶的目的。
但是onbeforeunload本身并非W3C DOM-Event標準事件,按照BX2047: 各瀏覽器對 onbeforeunload 事件的支持與觸發條件實現有差異的說法,onbeforeunload 事件可由以下這些條件觸發的
Paste_Image.png
那為啥我要提到這個觸發的條件呢?
緣起是因為我們有個小伙伴,某天將onbeforeunload事件放到了頁面上
然后我們很多頁面的插件的a標簽點擊事件都是使用javascript:;的偽協議,導致了onbeforeunload事件調用的方法不斷觸發。
找啊找啊找,找了半天,最后發現是這個onbeforeunload事件導致的。
在此提各位個醒,盡量就不要使用不標準的事件。
如果你控制不了,一定要使用這個onbeforeunload,那可以盡量不使用a標簽。一定要使用呢,就要注意了,好好看看有沒符合上面表格的觸發條件。
————
前端·小h
紙上得來終覺淺,絕知此事要躬行