亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

window.onbeforeunload在iPad上不起作用?

window.onbeforeunload在iPad上不起作用?

holdtom 2019-11-13 12:50:22
有人知道onbeforeunloadiPad是否支持該活動,和/或是否有其他使用方式?我已經做了幾乎所有的嘗試,似乎onbeforeunload從未在iPad(Safari瀏覽器)上觸發該事件。具體來說,這就是我嘗試過的方法:window.onbeforeunload = function(event) { event.returnValue = 'test'; }window.onbeforeunload = function(event) { return 'test'; }(以上兩者共同)window.onbeforeunload = function(event) { alert('test')'; }(以上所有功能,但內部 <body onbeforeunload="...">所有這些都可以在PC上的FF和Safari上運行,但不能在iPad上運行。此外,在加載頁面后,我還完成了以下操作:alert('onbeforeunload' in window);alert(typeof window.onbeforeunload);alert(window.onbeforeunload);結果分別是:trueobjectnull因此,瀏覽器確實具有該屬性,但是由于某種原因它沒有被解雇。我嘗試離開該頁面的方法是單擊后退和前進按鈕,在頂部欄中進行Google搜索,更改地址欄中的位置,然后單擊書簽。有誰知道發生了什么嗎?我將不勝感激任何輸入。謝謝
查看完整描述

3 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

我發現onunload()事件確實觸發了。它的行為有些奇怪。附加到該事件的回調函數中的任何內容實際上都是在新頁面已在后臺加載之后運行的(您無法確定它是否已加載,但是服務器日志記錄將顯示它已加載)。

更奇怪的是,如果您在onunload()中有一個verify()調用,并且用戶單擊了鏈接以轉到其他地方,那么您就是在做生意。但是,如果用戶關閉iPad Safari瀏覽器選項卡,則會觸發onunload()事件,但您的Confirm()將隱式取消作為響應。


查看完整回答
反對 回復 2019-11-13
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

這部分JavaScript在Safari和Chrome(在ipad和iphone上)以及臺式機/筆記本電腦/其他瀏覽器上對我有效:


var isOnIOS = navigator.userAgent.match(/iPad/i)|| navigator.userAgent.match(/iPhone/i);

var eventName = isOnIOS ? "pagehide" : "beforeunload";


window.addEventListener(eventName, function (event) { 

    window.event.cancelBubble = true; // Don't know if this works on iOS but it might!

    ...

} );


查看完整回答
反對 回復 2019-11-13
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

只有蘋果公司可以確定,但是我猜測他們故意沒有在移動Safari中啟用該功能,因為可疑角色最常使用該功能來使您留在他們的網站上或彈出許多色情/廣告窗口。


查看完整回答
反對 回復 2019-11-13
  • 3 回答
  • 0 關注
  • 944 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號