Holgi: NS-Problem mit window.document.images[0].src

Hallo Kollegen,

ich möchte aus einer Html-Datei (hier: Basis.html) heraus ein Popup-Fenster öffnen. Dafür starte ich in einer Javascript Datei die Function Grafikfenster und übergebe mit Variablen die URL (hier: Bild) und die Maße (hier: Hoehe,Breite) der Grafik, die in dem Fenster erscheinen soll.
Im Script (hier: ../resources/script.js) wird dann die Datei popup.html mit einer Dummy-Grafik aufgerufen. Diese Grafik dient nur als Platzhalter und wird dann mit "popup.document.images[0].src = Bild;" durch die eigentliche Grafik ersetzt.

Mein Problem ist, daß das ganze im IE wunderbar funktioniert. NS dagegen ersetzt mir  die Dummy-Grafik nicht durch die, deren URI relativ in der Variablen Bild hinterlegt ist.

Es scheint sich also entweder um ein NS-Problem zu handeln oder um einen Fehler von mir, der aber vom IE abgefangen wird.

Wer kann und will mir weiterhelfen?

Danke im voraus

Holgi

*******  html-Datei Basis.html (Auszug)  *******
<html>
<head>
 <script src="../resources/script.js" type="text/javascript"></script>
</head>
<body>
  <a href="javascript:Grafikfenster('l_100km.gif',352,679)">
   <img src="l_100km_klein.gif" height="106" border="0" alt="">
  </a><br>Diagramm: Verbrauch l/100km
</body>
</html>
*************************************************

********  Datei: ../resources/script.js  *********************
function Grafikfenster(Bild,Hoehe,Breite) {
  Hoehe=Hoehe+80;
  Breite=Breite+20;
  popup = window.open("popup.html", "Grafik", "width=" + Breite + ",height=" + Hoehe +",left=100,top=100");
  popup.document.images[0].src = Bild;
}
**************************************************

*******  html-Datei popup.html (Auszug)  ********
<html>
<head>
  <script type="text/javascript"></script>
</head>
<body>
<div>
  <img src="spacer.gif" border="0" alt="spacer">
  <br>
  <input type="Submit" name="Button" value="Close" Onclick="javascript:window.close()">
</div>
</body>
</html>
*************************************************

  1. Hi,

    Mein Problem ist, daß das ganze im IE wunderbar funktioniert. NS dagegen ersetzt mir  die Dummy-Grafik nicht durch die, deren URI relativ in der Variablen Bild hinterlegt ist.

    sondern macht was?

    popup = window.open("popup.html", "Grafik", "width=" + Breite + ",height=" + Hoehe +",left=100,top=100");
      popup.document.images[0].src = Bild;

    Hast Du an Stelle der zweiten Zeile mal alert(popup); alert(popup.document); alert(popup.document.images); usw. ausgeben lassen?

    Cheatah

    1. Hi,

      Hi Cheatah

      Mein Problem ist, daß das ganze im IE wunderbar funktioniert. NS dagegen ersetzt mir  die Dummy-Grafik nicht durch die, deren URI relativ in der Variablen Bild hinterlegt ist.

      sondern macht was?

      macht nix. Der Platzhalter bleibt stehen und wird nicht ersetzt. Keine Fehlermeldungen

      popup = window.open("popup.html", "Grafik", "width=" + Breite + ",height=" + Hoehe +",left=100,top=100");
        popup.document.images[0].src = Bild;

      Hast Du an Stelle der zweiten Zeile mal alert(popup); alert(popup.document); alert(popup.document.images); usw. ausgeben lassen?

      Nein, werde ich gleich mal machen. Du meinst um zu prüfen, ob die Varaiblen richtig übergeben wurden?

      Cheatah

    2. Hi,

      Mein Problem ist, daß das ganze im IE wunderbar funktioniert. NS dagegen ersetzt mir  die Dummy-Grafik nicht durch die, deren URI relativ in der Variablen Bild hinterlegt ist.

      sondern macht was?

      wie gesagt macht nix (Dummy wird nicth ersetzt)

      popup = window.open("popup.html", "Grafik", "width=" + Breite + ",height=" + Hoehe +",left=100,top=100");
        popup.document.images[0].src = Bild;

      Hast Du an Stelle der zweiten Zeile mal alert(popup); alert(popup.document); alert(popup.document.images); usw. ausgeben lassen?

      Jetzt ja: Er deklariert alles richtig als [object] bzw. gibt die Variableninhalte wieder, die ich auch haben möchte. Zumindest im IE.

      IN NS sieht es anders aus: Obwohl ich das alert-Fenster hinten angestellt habe, zeigt er mir die html Datei erst nach dem alert an. Wenn ich den src.-Wechsel wieder dazunehme, ignoriert NS sowohl den src-Wechsel als auch den alert. Sagti Dir das was? Ich bin leich überfordert .-(

      Holgi

      Cheatah

      1. Hi,

        sondern macht was?
        wie gesagt macht nix (Dummy wird nicth ersetzt)

        ich glaube nicht, dass es keine Fehlermeldung gibt.

        Hast Du an Stelle der zweiten Zeile mal alert(popup); alert(popup.document); alert(popup.document.images); usw. ausgeben lassen?
        Jetzt ja: Er deklariert alles richtig als [object] bzw. gibt die Variableninhalte wieder, die ich auch haben möchte. Zumindest im IE.

        Der IE ist *niemals* als Referenz für korrektes Verhalten zu gebrauchen. Wenn Du wissen willst, ob ein Code (egal welcher Art) stimmt, ist der IE der letzte, den Du zu Rate ziehen solltest.

        IN NS sieht es anders aus: Obwohl ich das alert-Fenster hinten angestellt habe, zeigt er mir die html Datei erst nach dem alert an.

        Genau darauf wollte ich hinaus. JavaScript wartet nicht, bis irgendwas fertig ist, von dem unter Umständen jemand will, dass es erst fertig sein soll. Du öffnest ein Fenster, welches Zeit benötigt, um gefüllt zu werden; der nachfolgende Befehl wird jedoch _sofort_ ausgeführt.

        Wenn ich den src.-Wechsel wieder dazunehme, ignoriert NS sowohl den src-Wechsel als auch den alert. Sagti Dir das was?

        Nach einem Fehler (schau übrigens mal in die Statusleiste) wird eine Scriptausführung abgebrochen.

        Cheatah

        1. Hi Cheatah,

          danke für Deine Tipps. Ich glaube jetzt habe ich erst mal was zu tun. Wenn ich weiter bin, melde ich Vollzug. Bis dahin erst mal herzlichen Dank

          Holgi

          Hi,

          sondern macht was?
          wie gesagt macht nix (Dummy wird nicth ersetzt)

          ich glaube nicht, dass es keine Fehlermeldung gibt.

          Hast Du an Stelle der zweiten Zeile mal alert(popup); alert(popup.document); alert(popup.document.images); usw. ausgeben lassen?
          Jetzt ja: Er deklariert alles richtig als [object] bzw. gibt die Variableninhalte wieder, die ich auch haben möchte. Zumindest im IE.

          Der IE ist *niemals* als Referenz für korrektes Verhalten zu gebrauchen. Wenn Du wissen willst, ob ein Code (egal welcher Art) stimmt, ist der IE der letzte, den Du zu Rate ziehen solltest.

          IN NS sieht es anders aus: Obwohl ich das alert-Fenster hinten angestellt habe, zeigt er mir die html Datei erst nach dem alert an.

          Genau darauf wollte ich hinaus. JavaScript wartet nicht, bis irgendwas fertig ist, von dem unter Umständen jemand will, dass es erst fertig sein soll. Du öffnest ein Fenster, welches Zeit benötigt, um gefüllt zu werden; der nachfolgende Befehl wird jedoch _sofort_ ausgeführt.

          Wenn ich den src.-Wechsel wieder dazunehme, ignoriert NS sowohl den src-Wechsel als auch den alert. Sagti Dir das was?

          Nach einem Fehler (schau übrigens mal in die Statusleiste) wird eine Scriptausführung abgebrochen.

          Cheatah