少年!你要繼續用onbeforeunload來XX用戶嗎?

在你被某個“男人是鱔變的”廣告吸引到某個游戲里后,在游戲里打雞打狗,升級搶怪后,終于有點疲憊了,想關下瀏覽器休息下時,是不是會被關閉前的彈框吸引,然后繼續在游戲大殺四方,成就人生巔峰呢?

那這個彈框是怎么實現的呢?

就是我要說的onbeforeunload,這個事件很好的實現了關閉頁面前繼續XX用戶的目的。

但是onbeforeunload本身并非W3C DOM-Event標準事件,按照BX2047: 各瀏覽器對 onbeforeunload 事件的支持與觸發條件實現有差異的說法,onbeforeunload 事件可由以下這些條件觸發的

Paste_Image.png

那為啥我要提到這個觸發的條件呢?

緣起是因為我們有個小伙伴,某天將onbeforeunload事件放到了頁面上

然后我們很多頁面的插件的a標簽點擊事件都是使用javascript:;的偽協議,導致了onbeforeunload事件調用的方法不斷觸發。

找啊找啊找,找了半天,最后發現是這個onbeforeunload事件導致的。

在此提各位個醒,盡量就不要使用不標準的事件。

如果你控制不了,一定要使用這個onbeforeunload,那可以盡量不使用a標簽。一定要使用呢,就要注意了,好好看看有沒符合上面表格的觸發條件。

————
前端·小h
紙上得來終覺淺,絕知此事要躬行

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容