Location Problem

Skipper

Grünschnabel
Hi.
Folgendes Problem: Ich habe ein Frame mit 2 Seiten. Im oberen wird auf einen Link gedrückt, und mit einer Js Funktion eine Id an eine Funktion auf der anderen Seite übergeben. Dort wird dann die Id an die Location URL angehängt, und die Seite neu geladen.
Hier hatte ich das Problem, dass die Id nur jedes 2te mal übergeben wurde. Dies wurde aber mit einer Abfrage gelöst. Jedoch habe ich noch ein Problem mit einem alert(), das vor dem Neuladen der Seite steht. Gebe ich das heraus, wird an die Seite NICHT die Id mit der URL mitübergeben.
Wer kann mit sagen wo der Fehler liegt?!

Seite mit Link... (beinhaltet auch PHP Code)
Code:
<script language='JavaScript' type='text/javascript'>
 <!--
  function showdaten(datensatzid)
  {
      parent.unten.neuladen(datensatzid);
  }

//-->
</script>
....
<a href='#' title='Versnr: $daten[1]' onClick=showdaten('$daten[0]') class=link>$daten[2]</a>

Seite zur Anzeige:
Code:
<script language='JavaScript' type='text/javascript'>
 <!--
  function neuladen(did)
  {
      var url = toString(location);
      if(url.search("id=") == -1) {
          //nicht vorhanden --> nochmal weiterleiten
          location =  "teile_ansehen_einzel_unten.php?id="+did;
          alert("LOC: "+location);           //Problemkind!
          window.location.reload();
      }

  }
  
//-->
</script>

Danke für eure Hilfe.
Skipper
 
Das ist gewissermassen ein "Zeitproblem".

Wenn du den alert ausgibst, wird das Skript solange angehalten, bis er bestätigt wurde.
Anscheinend kann JS den alert schneller ausgeben, als die location-Anweisung davor auszuführen.
Und das reload() scheint auch schneller zu gehen...frag mich nicht warum.


Vorschlag:
spare dir das "reload()" komplett,...und hänge stattdessen an die URL einen Timestamp...der bewirkt, dass die Seite, auch wenn die ID gleich bleibt, neu geladen wird.
die id kannst du immer ranhängen....verwende die Eigenschaft "pathname"...die gibt lediglich den Pfad zur Datei zurück(ohne Parameter,Anker usw.)

Code:
<script language='JavaScript' type='text/javascript'>
 <!--
  function neuladen(did)
  {
      now=new Date();
      self.location = self.location.pathname+"?id="+did+"&t="+now.getTime();
  }
  
//-->
</script>
 
Zurück