christian w.: get parameter werden verschluckt

Hallo Forum,

der Themenbereich ist etwas falsch gewählt aber es gibt halt keine kombinierten. (JavaScript + PHP)

Also mein Problem, ich habe mir eine kleine Seite zusammengebastellt, mit der ich meine eigentliche Homepage etwas unter die mangel nehmen kann. Die homepage wird in einen iframe geladen und per javascript wird die url an die test seite zurück gegeben.

das problem ist jetzt aber, dass wenn die Homepage get parameter hat, der parser diese natürlich als solche erkennt und weitere verarbeitung somit erschwert.

ich suche also nach einem einfachen weg die & Zeichen zu kodieren. welches zeichen kann ich dafür verwenden?

Gruß
Christian

  1. ursprünglich: &

    lass dir doch was einfallen: @, |das_und_zeichen| usw...

    lass dir einen einzigartigen string einfallen, durch den du dann die url splitten kannst.

    1. Hallo,

      ich muß das mit JavaScript lösen, jedoch habe ich nur sehr wenig Ahnung von JavaScript.

      wieso funktioniert das nicht?

      var url = parent.preview.location;
      var url1 = url.replace(/h/g,"H");
      document.write(url1);

      ich bekomme immer undefined im firefox als fehlermeldung.

      ist url kein string? wenn ja, wie wandle ich das in einen string um?

      Gruß, Christian

      1. Hallo,

        wieso funktioniert das nicht?

        var url = parent.preview.location;
        var url1 = url.replace(/h/g,"H");
        document.write(url1);
        ich bekomme immer undefined im firefox als fehlermeldung.

        Wo?
        Möglichkeit 1:
        Gibt es einen Frame mit dem Namen "preview"? Wenn nicht, dann ist parent.preview undefiniert.

        Möglichkeit 2:

        ist url kein string?

        Ja, wenn parent.preview existiert, dann ist url nach der Zuweisung ein location-Objekt http://de.selfhtml.org/javascript/objekte/location.htm. Das hat natürlich keine Methode replace().

        wenn ja, wie wandle ich das in einen string um?

        Gar nicht, bzw. mit .toString(), aber das nutzt hier nichts. Allerdings hat location die Eigenschaft href http://de.selfhtml.org/javascript/objekte/location.htm#href. Die suchst Du offensichtlich.

        viele Grüße

        Axel

        1. Hallo Axel,

          wenn ja, wie wandle ich das in einen string um?
          Gar nicht, bzw. mit .toString(), aber das nutzt hier nichts.

          Warum? Ich möchte in der url Zeichen austauschen! Also im Prinzip schon, wenn ich Dich richtig verstanden habe. Werds gleich mal testen.

          MfG, Christian

          1. Hallo,

            wenn ja, wie wandle ich das in einen string um?
            Gar nicht, bzw. mit .toString(), aber das nutzt hier nichts.
            Warum? Ich möchte in der url Zeichen austauschen!

            Ja, aber die URL steht _nicht_ in window.location, sondern in window.location.href.

            Also im Prinzip schon, wenn ich Dich richtig verstanden habe.

            Im Prinzip schon, aber mit einem völlig unsinnigen Missbrauch von Object.toString().

            Was hast Du gegen parent.preview.location.href?

            viele Grüße

            Axel

            1. Hallo Axel,

              Was hast Du gegen parent.preview.location.href?

              das hasse ich abgrund tief.

              nein im Ernst. Hier der Code, wie ich ihn zurzeit habe, zur verständnis:

              $source = $_GET['source'];

              $start = '../index.php';

              if($source) {

              $source = ereg_replace("^http://([0-9a-zA-z.]+[^/])/", "http://localhost/", $source);
                 $source = str_replace(' ', '&', $source);

              ini_set("highlight.html", "#13187E");
                 echo '<pre>';
                 highlight_file("$source");
                 echo '</pre>';
                 exit;
              }

              schnip

              // source

              echo '</form><form action="" method="post">';

              echo '<script type="text/JavaScript"><!--'."\n";
              echo 'function source() {'."\n";
              echo ' var url = parent.preview.location;';
              echo ' var url = url.toString();';
              echo ' var url1 = url.replace(/&/g,"+");';
              echo ' parent.preview.document.location.href="preview.php?source=" + url1;'."\n";
              echo '}'."\n";
              echo '//--></script>'."\n";
              echo '<input type="hidden" name="resolution" value="'.$res[0].'x'.$res[1].'">';
              echo '<input type="button" value=" source " onClick="source()" '.$SubmitButton.'>'."\n";
              echo '</form>';

              schnip

              echo '<iframe src="'.$start.'" width="'.$res[0].'" height="'.$res[1].'" name="preview">';
              echo 'Frame kann nicht angezeigt werden';
              echo '</iframe>';

              schnip

              MfG Christian

      2. Hi,

        var url = parent.preview.location;

        ich bekomme immer undefined im firefox als fehlermeldung.

        ist url kein string? wenn ja, wie wandle ich das in einen string um?

        Nein, warum sollte es ein String sein? Du weist url ein location-Object zu, also ist url ein location-Object und keine URL.
        Willst Du vielleicht die Eigenschaft href des location-objects verwenden?

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      3. das ganze is doch ganz einfach und wurde bereits beschrieben:

        parent.dein_window.location.href

        oder einfach nur

        location.href (ohne frames)

        diese url kannst du dann ganz leicht splitten:

        var url=parent.dein_window.location.href.split("&");
        url[0]...

        usw...