Ankündigung

Einklappen
Keine Ankündigung bisher.

JavaScript: Steuerzeichen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JavaScript: Steuerzeichen

    Grosses, grosses Problem: Mein JavaScript fuehrt Code nicht mehr aus, weil in bestimmten Strings anscheinend Zeichen enthalten sind, die wohl als Steuerzeichen gehandhabt werden.

    Ich versuchte, WINDOW.OPEN("Seite mit Parametern","Frame") auszufuehren, doch einer der Page-Parameter beinhaltete das Nummern-Zeichen "#".

    Was ich nun unbedingt brauche, ist eine Liste aller Zeichen, die von JavaScript oder als Page-Parameter im Browser solche Probleme verursachen. Wo kann ich solche Listen finden?

  • #2
    An sich können das ja nur Stringbegrenzer sein, die da Probleme verursachen.
    Ansonsten hast Du evl. hier Glück: http://www.html-world.de/program/js_2.php . Alternativ diverse RFC's zu erlaubten Zeichen in URLs, URIs. Sicher gibts auch eine für den JS Namensraum.

    Warum postest Du nicht eine konkrete URI, bei der Fehler auftreten?

    Kommentar


    • #3
      Hi, vielen Dank.

      Hier ist der Inhalt eines Datenbankfensters, welcher als URL-Seitenparameter mittels JavaScript uebergeben wurde:

      Code:
      4611 South University Drive
      #442
      Mittels PHP habe ich den Zeilenumbruch entfernt:

      PHP-Code:
       $MyAddressLine=@nl2br($MyAddressLine);
       
      $MyAddressLine=@str_replace("
      "
      ,", ",$MyAddressLine); 
      Schliesslich rufe ich mittels JavaScript eine Seite mit diesem Wert (Address) als URL-Seitenparameter auf:

      PHP-Code:
         $Load="<script language=\"JavaScript\">window.open(\"p/Start.php4".$Whatever."\",\"Page\");</script>";
         echo(
      $Load); 
      Das erste Problem war der Zeilenumbruch, welches ich geloest habe.

      Aber denoch gab es bei einigen Adressen Probleme, und erst das Entfernen des "#"-Zeichens schien zu helfen. War es aber der Grund? Und gibt es weitere Zeichen, die bei JavaScript ODER als URL-Seitenparameter Probleme verursachen koennen? Die Frage ist auch, war es JavaScript, oder war es der URL-Seitenparameter, wo das Problem auftauchte...

      Du linkst auf http://www.html-world.de/program/js_2.php, aber dort wird lediglich die Syntax behandelt, und mir bereits bekannte Themen und Eigenheiten. Aber ich sehe nichts zum Thema Steuerzeichen. Meine Suche nach dem Gral ist also noch nicht beendet...

      Kommentar


      • #4
        Keine Ahnung ob das daher kommt, aber:
        nl2br() ersetzt den Zeilenumbruch nicht, sondern erweitert ihn um ein vorangestelltes
        . Du kannst alternativ ein str_replace (array ("\r" , "\n" , "\r\n") , ',' , ... ); verwenden. Ich wüßte dagegen nicht, weshalb sich JS an der Raute stören sollte. Schau Dir doch mal nach echo($Load); den Quelltext in einem Editor mit Syntaxhighlighting an. Nach obiger Problematik vermute ich einfach mal einen Teilenumbruch innerhalb der window.open Anweisung.

        Kommentar


        • #5
          Nikosch, vielen Dank! Ich hatte bisher tatsaechlich angenommen, dass NL2BR umwandelt und nicht erweitert. Ich werde mir das mal anschauen. Kann sein, dass dies die Loesung ist. Und ich werde natuerlich dann auch STR_REPLACE verwenden!

          Kommentar


          • #6
            Hi,

            die # ist, so wie ich deren Bedeutung verstanden bzw interpretiert habe, nicht in eine reguläre url einzugliedern, der browser schickt diese denke ich nichtmal an den Server sondern sucht innerhalb der gegebene Seite nach der zugehörigen ID, um zu dieser zu scrollen.

            Kommentar


            • #7
              Papst, ebenfalls vielen Dank.

              Kommentar


              • #8
                Das Problem war in der Tat, dass die URL-Parameter Zeichen enthielten, die den betreffenden Parameter in zwei verwandelt hat. Das habe ich durch Encoden und Decoden des betreffenden Parameters beseitigt.

                Kommentar

                Lädt...
                X