-1
以下のコードでは、各ループは実行されません。ループの上下のコードが実行されます。理由を把握できません。
GM_xmlhttpRequest({
method: "GET",
url: link,
synchronous: true,
onload: function(response) {
//console.log($(response.responseText).find("#P16_STATUS2").text());
var status = "NOT FOUND";
if ($(response.responseText).find("#P16_STATUS2").size() === 1) {
status = $(response.responseText).find("#P16_STATUS2").text();
console.log("Status is " + status);
} else if ($(response.responseText).find("#P16_STATUS3").size() === 1) {
status = $(response.responseText).find("#P16_STATUS3").val();
console.log("Status is " + status);
}
alert("one");
//for (var i = 0; i < requestArray.length; i++) {
$.each(requestArray, function(key, value) {
alert("in each");
console.log("inside for");
if (key === val) {
console.log("request id found already present in array");
return false; // <=== breaks out of the loop early
} else {
console.log("request id not found, Hence adding" + newArray[i]);
var pusharr = [val + "-" + status];
requestArray.push(pusharr);
console.log("Updated Array is " + requestArray);
}
});
alert("out");
linkTag.attr("title", status);
}
});
すべてのヘルプははるかに高く評価されます。
requestArrayはどこから来たのですか?私はそれが空または未定義と思われる。 – n8wrl
無関係: 'return false; // <===ループ初期から壊れてしまい、あなたの想定通りに動作しません。 – dan08
のために、元のforループがうまくいくでしょう。 –