Safari und window.name
Mario
- javascript
Hallo zusammen,
habe folgendes kleine Problem:
mit hilfe von window.name überprüfe ich, ob eine bestimmte html-seite in einem bestimmten fenster geöffnet wird. dies klappt bei allen herkömmlichen browsern und auch bei allen Betriebssystemen. Nur safari kennt diesen befehl anscheinend nicht. Hat jemand auch dieses Problem feststellen können, oder einen tipp wie ich es auch bei safari lösen kann, das man den fensternamen (den man davor vergeben hat) erhält!
Vielen Dank im Voraus
Mario
mit hilfe von window.name überprüfe ich, ob eine bestimmte html-seite in einem bestimmten fenster geöffnet wird. dies klappt bei allen herkömmlichen browsern und auch bei allen Betriebssystemen. Nur safari kennt diesen befehl anscheinend nicht. Hat jemand auch dieses Problem feststellen können, oder einen tipp wie ich es auch bei safari lösen kann, das man den fensternamen (den man davor vergeben hat) erhält!
Hallo Mario,
das geht nicht, weil Safari trotz Version 1.0 Javascript- und CSS-technisch noch ziemlich beta ist. Da wollte Herr Jobs zur Keynote halt die Version 1.o präsentieren und dann brachte er sowas wie Netscape 6.0 heraus, der ja auch tausend Bugs hatte. Wenn Du Dir das Beispiel zu window.name in SELFHTML anschaust, kannst du sehen, dass das nachträgliche Ändern des Namens aber offensichtlich möglich ist. Und wenn der Name erst einmal per Hand geändert ist, kann man ihn auch lesen.
Das von Dir beschriebene Problem zu Umgehen halte ich aber eh bis zum Beweis des Gegenteils für überflüssig. Denn der Browser wird noch kaum genutzt und es ist auch etwas viel verlangt, auf Beta-Bugs beim Nutzer-Client einzugehen.
Falls es dringend nötig ist, musst du notfalls noch einmal genau beschreiben, was du erreichen möchtest. Vielleicht kann man Dir anders helfen.
Gruß: kaspar
Hallo Mario,
(..) Hat jemand auch dieses Problem feststellen können (..)
Nö. Aber es hat mich interessiert und so habe ich schnell einen Test
dafür gebastelt mit etwas Dokumentation, die Dich interessieren dürfte
und Dir eventuell bei Deinem Problem hilft. Ja es ist ein Bug. Aber
kein wirklich schwerwiegender.
http://tepasse.org/selfraum/js-safari-window-name.html
Persönlicher Kommentar:
Wozu überhaupt mit window.open() geöffnete Popups?
...
Hallo Kaspar,
das geht nicht, weil Safari trotz Version 1.0 Javascript- und CSS-technisch
noch ziemlich beta ist. Da wollte Herr Jobs zur Keynote halt die Version 1.o
präsentieren und dann brachte er sowas wie Netscape 6.0 heraus, der ja auch
tausend Bugs hatte.
Och, was kennst Du denn noch für Bugs in Safari? Ich bin recht zufrieden,
auch wenn ich natürlich nie genug an CSS-Unterstützung haben kann. Aber
es wird.
Wenn Du Dir das Beispiel zu window.name in SELFHTML anschaust, kannst du
sehen, dass das nachträgliche Ändern des Namens aber offensichtlich möglich
ist. Und wenn der Name erst einmal per Hand geändert ist, kann man ihn auch
lesen.
Jepp. Siehe meine Beispieldatei.
Das von Dir beschriebene Problem zu Umgehen halte ich aber eh bis zum
Beweis des Gegenteils für überflüssig. Denn der Browser wird noch kaum
genutzt (..)
Kommt immer auf die Zielgruppe an. Da Safari von Apple mitgeliefert wird
erwarte ich auch da langfristig einen IE-Effekt in klein.
Hallo Tim, vielen Dank für Deine Aufklärungsarbeit.
das geht nicht, weil Safari trotz Version 1.0 Javascript- und CSS-technisch
noch ziemlich beta ist. Da wollte Herr Jobs zur Keynote halt die Version 1.o
präsentieren und dann brachte er sowas wie Netscape 6.0 heraus, der ja auch
tausend Bugs hatte.Och, was kennst Du denn noch für Bugs in Safari? Ich bin recht zufrieden,
auch wenn ich natürlich nie genug an CSS-Unterstützung haben kann. Aber
es wird.
Naja, es wandern so einige Buglisten durch das Internet. Traurig finde ich aber vor allem, dass es eine solche Buglist NICHT bei Apple gibt. Das würde das ganze transparenter und lösungsorientierter machen.
Das von Dir beschriebene Problem zu Umgehen halte ich aber eh bis zum
Beweis des Gegenteils für überflüssig. Denn der Browser wird noch kaum
genutzt (..)Kommt immer auf die Zielgruppe an. Da Safari von Apple mitgeliefert wird
erwarte ich auch da langfristig einen IE-Effekt in klein.
Ich habe gesagt, dass ich das Debugging für fehlerhafte Versionen von noch kaum benutzten Browsern für überflüssig halte. Die Optimierung für die endgültige Version halte ich aus den von Dir genannten Gründen auch für notwendig. Bzw. hoffe ich ganz naiv, dass crossbrowsermäßig da nicht mehr viel zu tun ist, weil sich alle an den W3C-Standard halten.
Gruß: kaspar
Hallo Kaspar,
Traurig finde ich aber vor allem, dass es eine solche Buglist NICHT bei
Apple gibt.
So eine meinst Du?
http://developer.apple.com/internet/css/safari_css.html
Für Javascript habe ich dann aber doch nichts gefunden.
Hallo kaspar,
das geht nicht, weil Safari trotz Version 1.0 Javascript- und CSS-technisch noch ziemlich beta ist.
Safari basiert ja auf der KHTML/KJS-Engine, die auch Konqueror verwendet. Natürlich gibt es auch da Bugs, allerdings halte ich Konqueror durchaus für einen sehr brauchbaren Browser; in Sachen CSS brauchbarer als der IE allemale. (allerdings nicht ganz so gut wie Opera/Mozilla, aber das wird noch) Und JavaScript/DOM kann der Konqueror eigentlich auch recht gut, das einzige, was mich am Konqueror aufregt, ist dass er meines Wissens keine JS-Fehlermeldungen ausspuckt und somit JS debuggen so gut wie unmöglich ist. (entweder es läuft oder es läuft nicht) Ist Safari da eigentlich besser? (ich habe keinen Mac)
Viele Grüße,
Christian
Hallo Christian,
(..) JS-Fehlermeldungen (..)
Ist Safari da eigentlich besser? (ich habe keinen Mac)
Was interessieren uns Mac-Besitzer die Fehler fremder Seiten? ;-)
In kurz: Nein, ich habe es noch nie bemerkt.
Im geheimen Debugmenü gibt es jedoch die Option »Log Javascript Exceptions«, dieses tut er anscheinend allerdings nur bei sehr viel schwerwiegenden
Exceptions und nicht zum einfachen Debuggen. Und mir sowas zu schreiben
und dann Safari zu crashen ... ach nee. :-)
Hallo Kaspar, Christian und Tim,
vielen Dank für die Antworten. Habe jetzt eine Abfrage gebastelt und wenn es Safari ist, lass ich das mit dem Window.name erstmal weg. Nur wenn Safari mit OS X ausgeliefert wird, könnte es irgendwann zum Problem werden, aber bis dahin ist der Bug vielleicht auch beseitigt. Nochmals vielen Dank
Mario