数秒ごとにサーバーをポーリングして DOM を更新したい Javascript の短いスニペットがあります。
function updateCard() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
card = JSON.parse(this.responseText);
document.getElementById("season").innerHTML = card.season;
}
};
xhttp.open("GET", "/curr_card/", true);
xhttp.send();
}
window.onload = updateCard;
window.setInterval(updateCard,2000);
ほとんどのブラウザでは、それが起こります。への 1 回限りの呼び出しがいくつかありますがupdateCard
、全体として、サーバーはクライアントごとに 1 秒あたり約 1/2 の接続を示しています。
ただし、Android (49.0) の Firefox でページにアクセスすると、ブラウザーは/curr_card/
1 秒間に数十回、継続的にポーリングを開始します。
setInterval 行を に置き換えることを提案する人を見てきましたがwindow.setInterval(function() {updateCard();},2000);
、これは役に立ちません。
私はJavascriptとAJAXにかなり慣れていないので、なぜこれが起こっているのか分かりません. FFのバグですか?リクエストがあれば、さらにコードを投稿できます。
前もって感謝します。