Abgefahrener Mozilla Fehler...
Bio
- browser
0 Slyh
Sup!
Also... man nehme ein Browser-Fenster, erzeuge ein paar Tabs... dann geben man http://www.kingchess.de in ein Tab ein, und drücke Return und klicke sofort auf ein anderes Tab... und zack, öffnen sich Pop-Ups mit den einzelnen Frameteilen... vielleicht nur, wenn man Pop-Ups erlaubt hat natürlich... aber strange ist es auf jeden Fall.
Vielleicht kommt das auch bei anderen Seiten mit "kaskadiertem" Frameset vor? (Kai, fahr' schon mal den Bugzilla-Wagen vor!)
Gruesse,
Bio
Hi!
Also... man nehme ein Browser-Fenster, erzeuge ein paar Tabs... dann geben man http://www.kingchess.de in ein Tab ein, und drücke Return und klicke sofort auf ein anderes Tab... und zack, öffnen sich Pop-Ups mit den einzelnen Frameteilen... vielleicht nur, wenn man Pop-Ups erlaubt hat natürlich... aber strange ist es auf jeden Fall.
Interessantes Verhalten! (Es tritt übrigens auch dann auf, wenn das
unaufgeforderte Öffnen von Popups deaktiviert wurde.)
Wenn man sich mal den Quellcode ansieht, kann man (auf den ersten Blick)
dieses Verhalten jedoch nachvollziehen. Schließlich ist dort folgendes
zu lesen:
<script language="JavaScript" type="text/javascript">window.open("/welcomeinfo.asp", "leiste")</script>
<script language="JavaScript" type="text/javascript">window.open("/copyright.asp", "rbottom")</script>
Wieso aber öffnen sich beim normalen Aufrufen der Seite (und deaktiviertem
Popup-Blocker) die Fenster nicht?
Ganz einfach: Den beiden Fenstern werden dieselben Namen zugewiesen, die schon
die Frames haben - also "leiste" und "rbottom". Die Browser treffen also
auf das window.open, stellen aber fest, daß es bereits ein Fenster (bzw.
Frame) mit diesem Namen gibt und öffnen die jeweilige Seite in dem schon
vorhandenen Frame.
Anders nun der Mozilla. Sobald man in einen anderen Tab wechselt, scheint
er die Framenamen zu vergessen.
Theorie: Der Mozilla guckt nur im aktuell sichtbaren Tab nach, welche Frame-
Namen bereits verwendet werden und öffnet dementsprechend neue Fenster,
anstatt die bestehenden Frames zu verwenden, da im aktuell angezeigten
Tab (->leer) die Namen nicht schon vergeben sind.
Beweis: Zwei Tabs öffnen. In eines der Tabs die KingChess-Seite laden und
warten bis diese zuenden geladen wurde. Nun auch in das andere Tab die
KingChess-Seite und sofort in das zuvor geladene KingChess-Tab wechseln.
Es werd keine neuen Fenster (Popups) geöffnet, weil ja im aktuell angezeigten
Tab die Namen vergeben sind.
(Korrekterweise müßte Mozilla natürlich immer in dem Tab nach den vergebenen
Frame-Namen suchen, in dem der Aufruf von windows.open erfolgt.)
Interessant ist auch die Frage, wieso denn nun trotz aktiviertem Popup-
Blocker die neuen Fenster geöffnet werden. Vermutlich hast du gleich zwei
Bugs entdeckt. :-)
Vielleicht kommt das auch bei anderen Seiten mit "kaskadiertem" Frameset vor?
Wohl eher nicht. Zumindest nicht, solange nicht dieser konkrete Fall vorliegt.
Gruß
Slyh