数秒ごとにサーバーをポーリングして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のバグですか?リクエストがあれば、さらにコードを投稿できます。
前もって感謝します。
OPのコメントでテストして議論した結果、Galaxy S7の同じバージョンのFirefoxでは再現できなかったため、これはOPのHTCM7のFirefoxに固有の問題であると結論付けました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加