JE: opener.document.getElementById("title").innerHTML

Ich hab ein Problem mit dem Drucken von einer Seite über ein Pop-Up.

Auf einer Seite gibt es eine Liste von Terminen. Über einen Button wird ein Pop-Up aufgerufen, der die Termine aus der Seite rausholt. Über onload im body des Pop-Ups, wird folgende Funktion aufgerufen (die in einer externen Datei steht):

function setPrintWindow()
{
 if(opener){
alert(opener.document.getElementById("title").innerHTML);
document.getElementById("content").innerHTML = "<h2>Terminliste&nbsp;&nbsp;-&nbsp;&nbsp;"+opener.document.getElementById("title").innerHTML+"</h2>"+ opener.document.getElementById("content").innerHTML;
}
 else {alert("else test");window.print(); }
}

IM IE7 und Firefox wird der Inhalt korrekt geladen und stellt keine Problem beim anschließenden Drucken dar. Jedoch wird im IE6 nichts vom Inhalt angezeigt. Laut meiner Recherche sollten alle verwendeten Methode/Funktionen/etc auch für den IE6 funktionieren.

Den alert habe ich als Test eingebunden. Ursprünglich hat her "if test" ausgegeben um zu prüfen, dass auch beim IE6 die Funktion und dieser Schleifenpfad aufgerufen wird, was auch der Fall war. Bei der jetztigen Abfrage, wird jedoch im IE6 der alert nicht mehr angezeigt, im Firefox jedoch schon und da steht auch der korrekte Inhalt drin.

  1. Ursprünglich hat her "if test" ausgegeben um zu prüfen, dass auch beim IE6 die Funktion und dieser Schleifenpfad aufgerufen wird, was auch der Fall war. Bei der jetztigen Abfrage, wird jedoch im IE6 der alert nicht mehr angezeigt, im Firefox jedoch schon und da steht auch der korrekte Inhalt drin.

    Also der Zweig wird auf jeden Fall ausgeführt? Wird denn ein JavaScript-Fehler angezeigt? Wird ein alert am Ende der Funktion setPrintWindow noch ausgeführt? Wenn nicht, bricht das Script an dieser Stelle ab, dann sollte es auch eine Fehlermeldung geben.

    Mathias

    1. Also der Zweig wird auf jeden Fall ausgeführt? Wird denn ein JavaScript-Fehler angezeigt? Wird ein alert am Ende der Funktion setPrintWindow noch ausgeführt? Wenn nicht, bricht das Script an dieser Stelle ab, dann sollte es auch eine Fehlermeldung geben.

      Mathias

      Das Script bricht im Zweig ab.
      Wegen der Fehlermeldung: Ist mir vorher nur nicht aufgefallen, weil u.a. der Statuszeile ausgeschaltet war. In der Meldung steht "Objekt erforderlich" und wird von der Zeile her direkt vor dem else Zweig bemängelt.

  2. Das Problem war ursprünglich ein Layout Problem wodurch es für den IE6 eine extra Darstellung gegeben hatte, wo der Titel keine id zugewiesen bekommen hatte (den ich bei der Fehlersuche auch übergangen hatte das es im Code wie ein Kommentar aussieht).

    Ist natürlich klar, dass da nichts übergeben werden konnte.