各位好
我目前在作一個網頁功能
當離開網頁時,要能偵測到,並彈出提醒訊息
windows端我用beforeunload事件可以偵測的到
但在ios上,使用iphone,並透過pagehide事件,無法偵測到網頁離開的事件
我的iphone手機相關規格如下:
機型:iphoneX
ios版本:16.3.1
程式碼如下:
var isOnIOS = navigator.userAgent.match(/iPad/i)|| navigator.userAgent.match(/iPhone/i);
var eventName = isOnIOS ? "pagehide" : "beforeunload";
window.addEventListener(eventName, function (event) {
call function...
event.returnValue = "要離開頁面了喔!";
});
網路上找過很多方法,都無法work
請問是否有什麼方法或建議可以來偵測的到事件呢?
還請各位大神給點方向/建議,謝謝
好久沒有土法煉鋼的回答問題了。
以下是剛才亂試試出來的效果給樓主參考,
我沒有ios的設備能測,是用M1的Safari(ver.16)測的,
按F5或關閉Tab是能彈出對話框詢問是否離開...
希望有幫助。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TEST onbeforeunload IN SAFARI</title>
<script>
window.onbeforeunload = function(e){
console.log('You Try to Close Tag or Refresh This Page.');
e.returnValue = 'onpagehide';
}
</script>
<body>
<h1><a href="http://www.webkit.org/">TEST : 導向另一個網頁,不會觸發 onbeforeunload 事件</a></h1>
<h2> 按 F5 或 關閉 Tab 會觸發 onbeforeunload 事件.</h2>
</body>
</html>
謝謝你,不過我這問題,就是有試過onbeforeunload不行,於是才更換成pagehide,但這個也依舊不行,所以才來此詢問的。
你有沒有先用一個測試頁跑我寫的code看看?
這樣寫(雖然它看起來還是 onbeforeunload) 在SAFARI上當你關閉TAB或Refresh它是會觸發事件的哦!
如果這樣還是不行,那...我就沒招了XD
你好,我有用iphone手機run過你的程式,我把console換成alert,使用重新整理,並沒有彈出訊息來,所以還是不行了,謝謝你的幫忙^^