Hallo Siechfred,
Das, was die Unterstützung von window.external m.E. zum Bug macht, ist, dass eine Objektabfrage dem Client Vorhandensein vorgaukelt, obwohl lediglich ein einziges Feature umgesetzt wurde [...]
Wenn ein Objekt auch nur eine Methode ist es nunmal als Objekt vorhanden. ;)
Und da die entsprechende Funktionalität - wie ich bereits schrieb - eigentlich nur für die Entwicklung von Erweiterungen gedacht ist [...]
Wenn Du Erweiterungen im Sinne von Firefox-Erweiterungen meinst: Nein. AddSearchProvider ist schon für den Inhalt von Webseiten gedacht.
Um etwas Erklärung zu geben: Opensearch ist eine Spezifikation für ein Beschreibungsformat und die – für Browser aber weniger relevante – Ausgabe von Websuchen. Im ganz kleinen hat das den Effekt dass man für das Benutzen von Websuchen nicht mehr Firefox oder eine Firefox Erweiterung oder, wäre es schon bei Opera integriert irgendeine *.ini editieren muss, sondern, dass die Suche automagisch benutzbar ist. AddSearchProvider erlaubt es so ein Suchinterface dauerhaft zu installieren: „Möchten Sie die SELFHTML Suche dauerhaft in ihrem Browser installieren?“ (Nein, für die SELFHTML Suche gibt's noch kein Opensearch Interface).
[...] erachte ich die kontextunabhängige Verfügbarkeit des external-Objektes für einen Bug.
Wenn das nun im Kontext einer normalen Webseite ausgeführt werden soll, kann man das schlechterdings auf einen Kontext beschränken, den man findet keinen. Der einzige Fall, den ich mir aus den Fingern saugen kann, wäre es, die Verfügbarkeit eines mit Opensearch Autodiscovery eingebundenen Opensearch-Interfaces. Allerdings wäre das auch nicht allgemein, in einem Verzeichnis verschiedener Opensearch-Interfaces, aus denen man das passende installiert, wäre das wieder absurd.
Ich halte es deshalb von den Entwicklern für inkonsequent, wegen einer einzigen Methode ein derart komplexes Objekt einzuführen, wenn es auch eine proprietäre Variante getan hätte.
Sieh es nicht als komplexeres Objekt hat. Sieh es einfach als Namensraum an, der es ermöglicht eine Methode browserübergreifend aufzurufen, anstatt das ganze wieder dämlich abstrahieren zu müssen. Das besänftigt den Schlaf in der Nacht. ;)
Tim