-1
Im folgenden Code wird nicht jede Schleife ausgeführt. Code über und unter der Schleife wird ausgeführt. Unfähig, den Grund herauszufinden.
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);
}
});
Jede Hilfe ist sehr geschätzt.
Woher kommt requestArray? Ich vermute, dass es leer oder undefiniert ist. – n8wrl
Nicht verwandt: 'return false; // <=== bricht früh aus der Schleife heraus, was nicht so funktioniert, wie Sie annehmen. – dan08
für die Funktionalität, die Sie anstreben, würde die ursprüngliche for-Schleife besser funktionieren. –