tes*_*dtv 33 javascript safari onbeforeunload mobile-safari ipad
onbeforeunload和onunload有什么区别?另外我有一个与它在iPad上使用有关的具体问题...我有一个页面(myPage.html),我试图在页面关闭时显示警告(即按下X关闭iPad上的标签)
现在我尝试使用window.onunload和window.onbeforeunload以下是我在iPad上的调查结果;
使用window.onunload,当用户从myPage.html导航到不同的页面时(通过点击某些链接或在myPage.html上进行Google搜索),我能够收到提醒.但是,从最小化视图(X)关闭选项卡时没有任何反应
使用window.onbeforeunload,即使用户从myPage.html导航到不同的页面,或者如果他从最小化视图中关闭选项卡(X),我也不会收到警报.
我想知道是否有其他方法可以解决这个问题?
谢谢.
nob*_*ies 19
添加AlienWebguy的ans,以避免在支持这两个事件的浏览器上进行双重调用,
var onBeforeUnLoadEvent = false;
window.onunload = window.onbeforeunload= function(){
if(!onBeforeUnLoadEvent){
onBeforeUnLoadEvent = true;
//your code here
}
};
Run Code Online (Sandbox Code Playgroud)
Ali*_*guy 15
onunload负责在页面关闭时执行指令.它还会导致IE和AJAX出现问题.
onbeforeunload 效率更高,因为它不会与窗口的实际关闭竞争,而是在之前触发 onunload
我知道Opera曾经不承认onbeforeunload- 不确定他们是否已经解决了这个问题,但我总是注册听众以保证两者的安全:
window.onunload = window.onbeforeunload = (function(){...
Run Code Online (Sandbox Code Playgroud)
B T*_*B T 10
onbeforeunload:
event.preventDefault();onunload:
我能想到的,你为什么会想使用的唯一原因onunload在onbeforeunload将在您的onunload代码可能需要一些时间显著,并且不希望用户看到,而关闭该挂起的窗口.
onbeforeunload和之间的一个显着差异(除了可取消性)onunload是前者是为下载链接触发而后者不是.示例:<a href="https://somewhere.com/thething.zip">download</a>将触发onbeforeunload处理程序,但不会触发onunload.
| 归档时间: |
|
| 查看次数: |
30612 次 |
| 最近记录: |