Page有几个链接。
我需要跟踪点击用户的链接。
也就是说,当用户点击发送到我的服务器的Ajax请求的链接时,我的服务器处理请求并返回一些数据。此外,这些数据在客户端根据需要进行处理并发送到服务器统计信息。
所有这些请求和数据处理都需要一定的时间。
我的问题很实用:浏览器可以执行所有这些操作多长时间?时间有限吗?
刚才我有以下选择:
单击链接时,使用js返回false。执行所有必要的功能,然后才能执行新窗口的打开。
因此,我避免了浏览器的期望问题。
答案 0 :(得分:1)
如果要确保在AJAX请求完成之前未遵循链接,则应执行同步请求。例如:
link.onclick = function () {
var xhr = new XMLHTTPRequest(); // and the cross-browser equivalents
xhr.open('GET', 'yourscript.cgi?data1=foo&data2=bar', false);
// false means do the request synchronously
xhr.send(); // won't return till the request is complete
// you can access the data as xhr.responseText or xhr.responseXML
};
与等待一段时间相比,这是一种更可靠(也可能更快)的方式来进行必要的通知。