Hi,
bisher war für solch groben Unfug wie "Seite zu den Favoriten hinzufügen" oder "zur Startseite machen" window.external das ideale[tm] Prüfobjekt: Nur diejenigen Browser, die solchen Quatsch beherrschen, der zudem über window.external-Methoden durchgeführt wird, kannten das Objekt. Die Methoden direkt zu prüfen schied u.U. aus, weil dem IE erst Benehmen eingeprügelt, sprich: per behavior-Eigenschaft die Methode bekannt gemacht werden musste.
Soweit, so gut.
Auf einer gewissen Portal-Startseite habe ich auch Entsprechendes gemacht: Wenn Objekt vorhanden, dann biete Quatsch an. Das ging ein Weilchen gut. Mit Erstaunen musste ich nun aber feststellen, dass Firefox 2 im Footer der Seite einen Link "zur Startseite machen" anbot. Grund: Er kennt das Objekt. Die entsprechenden Methoden stehen natürlich nicht zur Verfügung, der Link war also völlig fehl am Platz. Nun, ich konnte das Problem beheben, indem ich die Prüfung durch "if (UserAgent.isIe())" ersetze, aber das ist mir zu ... indirekt. Schließlich geht es nicht darum, IE-User zu veralbern, sondern um die Fähigkeit, eine Seite zur Browser-Startseite zu machen.
Das Schlimmste an der Geschichte ist aber, dass window.external bei Mozilla weitgehend undokumentiert zu sein scheint. Ich finde nichts in den Release-Notes, und im Developer Center lautet der offenbar einzige Hinweis "Adding search engines from web pages". Das kann's doch nicht sein, oder? Wo um alles in der Welt ist dieses JavaScript-Objekt dokumentiert? Was kann es, welche Schnittstellen hat es, welche Informationen liefert es unter welchen Bedingungen? Wo finde ich all dies?
Und: Wie frage ich nun sinnvollerweise ab, ob der Browser so dämlich ist, die eingestellte Startseite manipulieren zu lassen?
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes