我最近发现IOS设备不支持onbeforeunload
事件。我也做了一些研究,并尝试了其他活动,如pagehide
事件,但它也没有用。我想要实现的是在离开页面之前将一些数据保存在本地存储中。它适用于Windows和Android,但不适用于IOS设备。这是代码:
window.onbeforeunload = function(e){
save_something_in_local_storage();
};
我还可以通过以下方式识别IOS设备:
var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
尝试其他事件(例如pagehide)也不起作用:
window.addEventListener("pagehide", function(evt){
alert('pagehide');
}, false);
有谁知道IOS的解决方法?
尝试在focusout
事件后保存数据(如果您有输入)。保存成功后,清理本地存储
pagehide
适用于iOS设备。问题出在alert
电话中,请参阅https://stackoverflow.com/a/9325742/3386279。只是尝试将数据保存在localStorage
中。