ページ上の特定のテキストを置き換えるかなり単純なタスクがあります。たとえば、10 個の DIV があり、それぞれに特定の情報が含まれているとします。この情報をデータベースと照合して、テキストをデータベースの結果に置き換えたいと考えています。
ループ内に GM_xmlhttpRequest を配置して、この情報をチェックし、10 個の DIV ごとに置き換えます。残念ながら、これは機能せず、最後の DIV にはまったく同じ情報が 10 個含まれています。つまり、i=10 の場合、GM_xmlhttpRequest は 10 回実行されます。
以下は単純化されたコードです。
var i=1;
while (i<=10) {
var id = 'div-' + i; //This sets the name of the DIV
var ShowContent = document.getElementById(id);
GoToURL = "http://domain.com/?=" + id; //This specifies a URL that changes on every loop
GM_xmlhttpRequest({
method: "GET",
url: GoToURL,
onload: function(response) {
ShowContent.innerHTML = response; //This should replace the information for each DIV
alert(i); //TEST: this shows always 11 (even not 10!). Why?
}
});
i++;
)