我面临着一个奇怪的问题。关闭完整的safari浏览器时,我需要使用jquery post调用一个函数。但是当关闭safari浏览器时,这不是调用。但是美女在所有其他浏览器中都有效。
以下是我的代码,
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit()
{
$.post("test.php");
}
</script>
请在野生动物园进行这项工作。
谢谢, Dinesh Kumar Manoharan
答案 0 :(得分:8)
这可能是因为您正在进行异步发布,并且Safari在发出请求之前停止运行JavaScript(由于页面被卸载)。尝试使用$.ajax
代替$.post
并将async
设置为false
来阻止呼叫。像(未经测试)的东西:
function confirmExit() {
$.ajax({
'async': false,
'type': 'POST',
'url': 'test.php'
});
}
答案 1 :(得分:1)
根据Mozilla MDC,window.onbeforeunload不会在Safari中返回任何内容,因此请根据上面的链接示例修改代码。
SO about this上还有另一个帖子。希望它有所帮助。