kostenloser Webspace werbefrei: lima-city


GM_xmlhttpRequest hält Script an

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    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];
    	}});

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Würde vorschlagen, dass du deinen Code mal debuggst. Mit Firebug zum Beispiel. Dann weißt du an welcher Stelle du noch was ausbessern musst.

    Ansonsten poste doch mal etwas mehr Code. Mit dem von dir geposteten Code kann ich zB recht wenig anfangen.
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    alexxus schrieb:
    Ansonsten poste doch mal etwas mehr Code. Mit dem von dir geposteten Code kann ich zB recht wenig anfangen.
    Der gepostete Code reicht aus, um das Problem zu erkennen ;-)

    Warum wird abgebrochen?
    var booston = content.split('<span><b>Stärkung:</b><br />')[1];
    Wenn der Suchtext gefunden worden ist steht auch etwas in
    booston
    . 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 Variable
    booston
    undefined[/code] steht.

    var boostoff = booston.split('<br />')[0];
    Diese Zeile braucht in der Variablen
    booston
    einen String. Wenn dort aber undefined drin steht wird die Funktion
    split()
    auch nicht gefunden, weshalb es hier einen Fehler gibt und die Ausführung des Scriptes abgebrochen wird.

    Wie kann man das umgehen?
    Indem man prüft ob die Variable
    booston
    verschieden von
    undefined
    ist und erst dann die Variable
    boostoff
    "berechnet".

    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
    boostoff
    nichts drin...

    Das
    trim()
    ist deshalb dort, weil sonst in der Variablen
    boostoff
    sicher Leerzeichen am Anfang oder Ende (oder beides) sein würden.
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!