jQuery と ajax を使用してリモート Web ページを取得しています。この Web ページをブラウザーに読み込むと、正常に読み込まれますが、約 100 ミリ秒後にカウンターを表す別の要素が表示されます。このカウンターは特定の場所に挿入され、特定のクラスを持ちます。これは、この場所の HTML です。
<span class="unreadcount">1</span>
Chrome 用のプラグインを作成しようとしていますが、この値が必要です。問題は、ページがロードされた後はこの値を使用できないことですが、必要な値を取得するためにページの HTML を処理する前に、ページからサーバーへの要求 (unreadcount 番号) が完了するのを待つ必要があります。
jQueryでこれを行う方法はありますか? 次のコードを使用して HTML ページを取得しています。
$.ajax({
async: false,
cache: false,
type: 'GET',
dataType: 'html',
url: 'https://somesite.com/index.php',
success: function(data1) {
var descNode = document.createElement("div");
descNode.innerHTML = data1;
var unreadcount = descNode.getElementsByClassName("unreadcount");
/*process unreadcount etc*/
},
error: function () {
// something went wrong with the request
error_occurred();
return;
}
});
残念なことに、毎回 unreadcount.length は 0 であり、カウンターがページと共に読み込まれていないことに気付きましたが、その直後です。
ページを処理する前にカウンターが読み込まれるのを待つにはどうすればよいですか?