B
Benutzer007
Hallo,
ich will mit einem Script die fehlerhaften URLs einer Webseite herausfinden.
http://fiddle.jshell.net/bttkvfo6/
Aber irgendwie ist der Wurm drin.
Wie weiß man eigentlich, wann die Schleife beendet ist, um anschließend den nächsten Befehl auszuführen?
Wer kann helfen?
Grüße
ich will mit einem Script die fehlerhaften URLs einer Webseite herausfinden.
http://fiddle.jshell.net/bttkvfo6/
Javascript:
(function() {
var errUrls = [];
var allUrls = [];
//var allUrls = $('a[href]');
allUrls.push('https://www.tutorials.de'); // erscheint als Fehler
allUrls.push('h_ttps://www.tutorials.de'); // sollte Fehler bringen
allUrls.push('Schwachsinn'); // erscheint als Success!
okUrls = [];
//alert('Gesamt-Anzahl: ' + allUrls.length);
//$('body').append('<div>Gesamt-Anzahl: ' + allUrls.length + '</div>');
$(allUrls).each(function(i,href) {
$.ajax({
type: 'HEAD',
url: href,
success: function() {
okUrls.push(href)
},
error: function() {
errUrls.push(href);
}
//,
//complete: function() {
// if (allUrls.length == i) {
// Alerts erscheinen wild durcheinander
// alert('i: ' + i + 'Gesamt-Anzahl: ' + allUrls.length + ", fehlerfrei: " + okUrls);
// alert(errUrls.join('\n'));
// }
//}
});
});
// In Ermangelung einer Callback-Funktion
setTimeout(function() {
$('body').append('<div>Gesamtanzahl: ' + allUrls.length + '<br>Anzahl ok: ' + okUrls.length + "<br>Anzahl Errors: " + errUrls.length + '<br>ERRORS:<br>'+ errUrls.join('<br>')+'<br>OK:<br>'+okUrls.join('<br>')+'</div>');
},3000);
})();
Wie weiß man eigentlich, wann die Schleife beendet ist, um anschließend den nächsten Befehl auszuführen?
Wer kann helfen?
Grüße
Zuletzt bearbeitet von einem Moderator: