Fabian: Bug zu OpenSearch 1.1 im IE8 oder Scriptfehler?

Beitrag lesen

Seit kurzem wird auf einem meiner Projekte OpenSearch (nach den Spezifikationen 1.1) unterstützt und vorher hatte ich damit noch nichts zu tun und habe demnach keine Erfahrung damit.

Funktioniert an sich wunderbar, doch nur wenn man de Suche beim IE8 bereits zu den Standardsuchanbietern hinzugefügt hat, kommt es manchmal zu einem Fehler.
Und zwar hat man dann ja die Möglichkeit in dem DropDown auszuwählen, wo man sucht. Wenn man sich aktuell auf der Seite befindet, die das OpenSearch verlinkt hat, wird einem dieser Suchanbieter also auch angeboten. D.h. wenn man ihn zuvor bereits zu den Standardsuchanbietern hinzugefügt hat UND man befindet sich aktuell auf der Seite, erscheint er 2x in der Liste. Wählt man hier den temporären Listeneintrag aus, wirft der IE8 (8.0.6001.18999 auf Vista Pro) den Fehler aus:

"Die Suche konnte mithilfe dieses Suchanbieters nicht durchgeführt werden.

Es ist ein Problem mit den Daten des Suchanbieters aufgetreten."
(Dieser Fehler kommt also nicht, wenn das OpenSearch-Dokument nicht als Standardsuchanbieter eingestellt ist).

Das OpenSearch-Dokument:

  
<?xml version="1.0" encoding="iso-8859-1" ?>  
	<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">  
		<ShortName><?= substr(SUCH_TITEL, 0, 16) ?></ShortName>  
		<Description><?= substr(SUCH_BESCHREIBUNG, 0, 1024) ?></Description>  
		<Url type="text/html"  
				template="<?= HTTP_PATH_PUBLIC ?>?suche={searchTerms}" />  
	</OpenSearchDescription>  

Die PHP-Variablen werden korrekt in die gewünschten Strings geparsed.