Hallo Tom,
Ich weiß nicht, ob das gegen die Fehlermeldung hilft, aber du brauchst ja in deiner window.open-Methode als ersten Parameter gar keinen URL zu übergeben, eine leere Zeichenkette reicht,
Nein, das würde einen Fehler verusachen für jemanden, der versucht, die Seite "mit der rechten Maustaste" in einem neuen Fenster zu öffnen. Für den muss die URL zur Verfügung stehen. Außerdem soll sie ja uch von den Robots ausgewertet werden. Ich habe sie hier nur zu Vorführzwecken als interne Referenz dargestellt.
Also bei meinen Seiten verursacht das keinerlei Fehlermeldung, auch nicht, wenn ich den Link mit rechter Maustaste in einem neuen Fenster öffnen lasse. Wieso sollte es auch? Das href-Attribut gibst du ja an! Allerdings bekommst du so ein Fenster mir allem drum und dran, so als ob du JS deaktiviert hättest. Die die mit rechter Maustaste in neuem Fenster öffnen, wollen das aber wahrscheinlich auch genau so.
Mich würde jetzt aber schon noch interessieren, ob meine Variante bei deinem Problem geholfen hätte. Ich vermute ja, dass solange die Seite nicht vollständig geladen ist, -vielleicht nur der MSIE- die focus()-Methode auf das gleichnamige Target bezieht, weil das JS-Objekt noch nicht "fertiggestellt" ist. Wenn du zuerst eine leere Zeichenkette übergibst hat das anscheinend denselben Effekt, wie wenn du gar keinen Parameter übergibst, auch keinen für den URL (auch dieser Parameter ist ja bei window.open optional). Mit der leeren Zeichenkette als erstem kannst du dann aber immerhin den zweiten und den dritten Parameter definieren. Die leere Seite ist dann sofort geladen und es gibt kein Problem mit dem daran anschließenden "focus()" und "return false". So meine vielleicht abwegige Theorie.
Wie gesagt, das würde mich wirklich interessieren, ob das, wenn es durch die Datenmenge und die längere Ladezeit bei deiner Seite bedingt ist ebenfalls ein Ausweg aus dem Problem wäre. Vielleicht kannst du das ja mal testen.
Gruß Gernot