【发布时间】:2011-06-24 04:11:01
【问题描述】:
我有一个通过 Ajax 处理机器远程控制的网页。当用户离开页面时,我想自动断开与机器的连接。所以这里是代码:
window.onbeforeunload = function () {
bas_disconnect_only();
}
断开连接函数只是向 PHP 服务器端脚本发送一个 HTTP GET 请求,该脚本执行断开连接的实际工作:
function bas_disconnect_only () {
var xhr = bas_send_request("req=10", function () {
});
}
这在 FireFox 中运行良好。但是对于 Chrome,根本不会发送 ajax 请求。有一个不可接受的解决方法:向回调函数添加警报:
function bas_disconnect_only () {
var xhr = bas_send_request("req=10", function () {
alert("You're been automatically disconnected.");
});
}
添加警报调用后,请求将成功发送。但正如您所看到的,这根本不是一个真正的解决方法。
谁能告诉我这是否可以通过 Chrome 实现?我正在做的事情在我看来完全合法。
谢谢,
【问题讨论】:
-
“bas_send_request”函数在哪里?
-
Pointy:bas_send_request() 是一个简单的包装器,它创建一个 ajax 请求并发送它。我认为没有必要展示那种细节。
标签: javascript ajax google-chrome