我发现使用不同浏览器的 ajax 响应时间非常不同。服务器(猫鼬)在本地运行,因此排除了网络问题。
这些是我的发现:
- 火狐 11-23 毫秒
- 铬 6-130ms
- Safari (webkit) 1004-1020ms
- Maxthom (webkit) 在 30 到 1030 毫秒之间交替
- 阿罗拉 (qt/webkit) 1017-1025ms
- 嵌入铬在 15 到 315 毫秒之间交替
这是供大家检查的代码:
<html>
<head>
<title>Embedded Response Slow demo</title>
</head>
<body>
<script>
var time = 0;
function mouseClicked()
{
time = new Date().getTime();
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
time = new Date().getTime() - time;
document.getElementById('link').innerHTML
= "Response took "+time+"ms.";
}
}
xmlhttp.open("GET","responsetest.html?q="+time,true);
xmlhttp.send();
}
</script>
<div><a onclick="mouseClicked()" id="link" href="#" >click me</a></div>
</body>
</html>
对于响应式 GUI,我真的需要解决这个问题。有没有人知道我如何能够始终如一地获得较短的响应时间?
(我将整个问题重新设计为更简单并包含代码。现在我从等式中完全删除了 jQuery 并添加了 Safari 结果。)