GM_xmlhttpRequest hält Script an
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abfrage
anfangen
baustelle
beispiel
beleg
code
funktion
gesuchte text
jemand
schleife
stelle
string
suchen
umgehen
url
variable code
variablen code
verzweiflung
vorhandensein
wort
-
Hi,
so hier mal meine nächste Baustelle, ich bin mir sicher ich hatte das Thema hier schon mal, finde es aber nicht wieder.
Ich habe mir eine Abfrage gebastelt die nach einem Wort sucht und bei Vorhandensein den Text dahinter in eine Variable packt.
Der Code läuft auch wunderbar, wenn aber der gesuchte Text nicht vorhanden ist,
bricht das Script an dieser Stelle einfach ab und hält an.
Hab ich da nun mit meinem Code was falsch gemacht? Wenn ich das richtig sehe
müsste man doch mit einer Schleife vieleicht was machen können, allerdings ist das nun die Stelle
an der die Verzweiflung wieder näher rückt. Hat da jemand eine Idee für mich? Ich möchte, wenn der gesuchte Text nicht vorhanden ist die Variable einfach mit 0 belegen.
GM_xmlhttpRequest({ method: 'GET', url: link+'/fight/', onload: function(responseDetails) { var content = responseDetails.responseText; var booston = content.split('<span><b>Stärkung:</b><br />')[1]; var boostoff = booston.split('<br />')[0]; }});
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
alexxus schrieb:
Der gepostete Code reicht aus, um das Problem zu erkennen
Ansonsten poste doch mal etwas mehr Code. Mit dem von dir geposteten Code kann ich zB recht wenig anfangen.
Warum wird abgebrochen?var booston = content.split('<span><b>Stärkung:</b><br />')[1];
Wenn der Suchtext gefunden worden ist steht auch etwas in
. Wenn der Suchtext nicht gefunden wurde gibt es nur ein einziges Arrayelement. An der Stelle 1 im Array ist nichts definiert, weshalb dann in der Variablebooston
undefined[/code] steht.booston
var boostoff = booston.split('<br />')[0];
Diese Zeile braucht in der Variablen
einen String. Wenn dort aber undefined drin steht wird die Funktionbooston
auch nicht gefunden, weshalb es hier einen Fehler gibt und die Ausführung des Scriptes abgebrochen wird.split()
Wie kann man das umgehen?
Indem man prüft ob die Variable
verschieden vonbooston
ist und erst dann die Variableundefined
"berechnet".boostoff
In Code ausgedrückt:var booston = content.split('<span><b>Stärkung:</b><br />')[1]; var boostoff = (booston != undefined) ? booston.split('<br />')[0].trim() : '';
Wenn der Suchtext nicht gefunden wird steht in
nichts drin...boostoff
Das
ist deshalb dort, weil sonst in der Variablentrim()
sicher Leerzeichen am Anfang oder Ende (oder beides) sein würden.boostoff
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage