ブラウザによって ajax の応答時間が大きく異なることがわかりました。サーバー(マングース)はローカルで実行されていたため、ネットワークの問題は除外されています。
これらは私の発見です:
- Firefox 11 ~ 23 ミリ秒
- クロム 6-130ms
- Safari (Webkit) 1004 ~ 1020 ミリ秒
- Maxthom (webkit) は 30 ミリ秒と 1030 ミリ秒を交互に繰り返します
- Arora (qt/webkit) 1017 ~ 1025 ミリ秒
- embeddedchromium は 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 の結果を追加しました。)