LanX: Search und hash in einer URL, NN4 spinnt!?!

Hi

mit Search und Hashstring gleichzeitig in einer URL scheint NN4 nicht so gerne umzugehen,
wenn ich mittels JS loaction.search setze kommen seltsame
Effekte vor, z.B.

formmailer.html#####Select?LEVEL=.3

setze ich die komplette URL mit location.href neu und klicke später auf einen
internen Link bekomme ich dann sowas

formmailer.html?LEVEL=.3#Select?LEVEL=.3

Sollte es verboten sein Hash und Search in einer URL zu verwenden?
Gibts eine vorgeschriebene Reihenfolge? Liegts daran dass ichs lokal ("file:\")?

Weder V8 noch Forumsarchiv haben mir da weitergeholfen. Hat jmd schon mal ein ähnliches
Problem gehabt? Und wie "aesthetisch" gelöst?

Gruß und Dank
  Rolf

  1. Hi,

    setze ich die komplette URL mit location.href neu

    auf welchen Wert?

    Sollte es verboten sein Hash und Search in einer URL zu verwenden?

    Nein; aber die Reihenfolge ist relevant:

    protokoll://host[:port]/localpart?search#hash

    Gibts eine vorgeschriebene Reihenfolge?

    Ei logisch :-) Siehe RFC 1738, http://www.ietf.org/rfc/rfc1738.txt.

    Liegts daran dass ichs lokal ("file:\")?

    Sektion 3.10 von RFC 1738.

    Und wie "aesthetisch" gelöst?

    Verzichte auf das file-Protokoll. Installiere Apache, http://www.apache.org/, und greife auf http://localhost/ zu.

    Cheatah

    1. Hi,

      protokoll://host[:port]/localpart?search#hash

      Gibts eine vorgeschriebene Reihenfolge?

      Ei logisch :-) Siehe RFC 1738, http://www.ietf.org/rfc/rfc1738.txt.

      Grummel! Ich bin zu oft mit NN4 unterwegs, wenn man z.B.
      in der Forumshauptdatei per JS bei den links hash="a1" setzt, damit er gleich zum relevanten springt, dann produziert er beim Klicken tatsächlich sowas:

      http://forum.de.selfhtml.org/#a1?m=30896&t=5533

      Und seit kurzem frißt das Forumsskript solche Anfragen nicht mehr :(

      Danke für die Tips
        Rolf

  2. Liebes Forum

    Eigentlich habe ich vor eine Dynamische Seite zu generieren die abhängig vom searchstring verchiedene
    Charts anzeigt. Die Idee: Mittels select-Option-Formular wird zwischen den verschiedenen Modi ausgewählt
    der Searchstring wird neu gesetzt und die Seite neu
    aufgebaut.

    Neben dem Problem das sich location.search und location.hash nur im Mozilla ohne dumme Nebeneffekte setzen lassen, würd ich gerne vermeiden dass jedesmal ein kompletter reload erfolgen muß.

    Wie könnte man das realisieren? Die Seite wird neu aufgebaut _ohne_ die Daten wieder vom Server zu holen?

    Also sowas wie document.rebuild()?

    Tips?

    Viele Grüße
      Rolf

    1. Hi, Rolf

      Wie könnte man das realisieren? Die Seite wird neu aufgebaut _ohne_ die Daten wieder vom Server zu holen? Also sowas wie document.rebuild()?

      Du könntest alles, was du später anzeigen willst in DIVs packen, die mit 'visibility:hidden' zunächst versteckt und nach deinen Wünschen positioniert sind.

      <div id="alt">wird sofort angezeigt</div>
      <div id="neu" style="visiblity:hidden;">ich bin noch versteckt</div>
      <div id="xyz" style="visiblity:hidden;">ich ebenfalls</div>
      usw.

      Ändern kannst du die 'visibility' dann jederzeit mit einem Event-Handler deiner Wahl, zb mit

      <a href="#" onmouseover="Show('neu');" onmouseout="Hide('neu');">neu</a>
      <a href="#" onmouseover="Show('xyz');" onmouseout="Hide('xyz');">xyz</a> usw.

      Die 'Einblendung' übernimmt dabei folgendes Script, welches gleichzeitig das ursprünglich angezeigte DIV versteckt:

      <script type="text/javascript">
      <!--//
      function Show(ID) {
        document.getElementById(ID).style.visibility = "visible";
        document.getElementById("alt").style.visibility = "hidden";
      }
      function Hide(ID) {
        document.getElementById(ID).style.visibility = "hidden";
        document.getElementById("alt").style.visibility = "visible";
      }
      //-->
      </script>

      Besuchern, die Javascript deaktiviert haben kannst du allerdings nur die Reload-Methode anbieten.

      LG Orlando

      1. Hi Orlando

        Danke fuern Tip, aber das waer Kanonen auf Spatzen, und ich mueBte pro
        Statuswechsel ein invisble div spendieren. Da waer ne Loesung
        mit neu beschriebenem Layer wohl besser.

        Aber ich habe die Hoffnung es mit document.open/close erreichen zu koennen
        obwohl dass mit dem "append" bisher bei mir nicht so richtig Crossbrowser
        funktioniert.

        Cheers
          rolf