我希望在pageleave()用户退出页面之前调用该函数.但我似乎无法让它正常工作,我在网上搜索了几个小时,无法找到解决方案.这是我想出的代码.它在页面加载时运行,而不是在页面卸载时运行.
window.onbeforeunload = pageleave;
function pageleave() {
$.post("<?php echo dirname( get_bloginfo('stylesheet_url') ); ?>/ajax/videocanle.php", { videoID: "<?php echo $videoID; ?>" },
function(data) {
if ( data != "\nsuccess"){
alert ("Sorry but there was an unexpected error, please try again");
}
});
}
Run Code Online (Sandbox Code Playgroud)
这是当前的修订版,它仍然不会在页面卸载之前运行该函数.该功能确实有效,我用一个简单的输入按钮测试它.
<input type="button" value="test function" onclick="pageleave()" />
Run Code Online (Sandbox Code Playgroud)
您需要为函数分配一个引用,而不是调用函数的结果(这就是它的()作用).删除():
window.onunload = pageleave();Run Code Online (Sandbox Code Playgroud)
(您可能还希望使用该onbeforeunload事件而不是onunload,并返回某种确认消息,以便您的Ajax请求有机会完成.)
| 归档时间: |
|
| 查看次数: |
3895 次 |
| 最近记录: |