Der Browser macht soetwas von sich aus nicht, das muss wenn schon ein JavaScript auf der Seite machen.
Auf der Seite wird zwar nach dem Laden die Funktion vielversprechende Funktion queryFocus() aufgerufen, allerdings kann ich deine Beobachtung reproduzieren. Wenn man sich dann mal in einem Debugger anguckt, was die Funktion macht, wird auch klar warum.
Die Webdeppen bei eBay kennen offenbar nicht den Unterschied zwischen dem name- und dem id-Attribut, denn sie lassen das Script nach Elementen mit den ids search_form, searchform (man ist offenbar in der Schreibweise nicht so festgelegt ...), query und satitle. Wenn man mal in den HTML-artigen Code guckt, den man unter http://www.ebay.de/ findet, stellt man fest, dass es keine solchen Elemente gibt. Die Funktion stellt das ebenfalls fest und tut ganz einfach nichts.
Hier mal die Funktion, die Formatierung ist nicht meine Idee, das steht da wirklich so in der Datei ...
Code:
function queryFocus()
{var oD=ebay.oDocument;if(oD.getQueryValue("searchfocus=off")=="")
{var oForm=oQuery=oTitle=null;if(oD.getUIElem('search_form'))
oForm=oD.getUIElem('search_form');else if(oD.getUIElem('searchform'))
oForm=oD.getUIElem('searchform');if(oForm)
{oQuery=oForm.query;oTitle=oForm.satitle;}
else
{oQuery=oD.getUIElem('query');oTitle=oD.getUIElem('satitle');}
if(oQuery)
oQuery.focus();else if(oTitle)
oTitle.focus();}}
Da die ganzen getUIElem()-Aufrufe keine passenden Objekte finden und null zurückliefern, bleibt oQuery und oTitle immer null und es wird keine focus()-Methode aufgerufen, von welchem Element auch?
Warum es im IE dennoch funktioniert? Der IE hat wohl einen Bug, der unter bestimmten Bedingungen dazu führt, dass document.getElementById() auch dann fündig wird, wenn ein Element mit einem name-Attribut mit dem angegebenen Wert ausgestattet ist. Unter welchen Bedingungen das Auftritt, ist mir nicht bekannt, aber ein Aufruf von javascript
:alert(document.getElementById('search_form')); in der Adressleiste liefert im IE ein [object] zurück, während SeaMonkey mir hier wie zu erwarten null liefert. Möglicherweise hat Firefox 1.5 diesen Bug aber nachgeahmt, sodass es dort funktionierte.
Falls dich das stört, solltest du dich an eBay wenden, deren Code ist fehlerhaft. Alternativ kannst du dir auch ein Greasemonkeyscript schreiben, das das die Aktionen von queryFocus() mit getElementsByName(string)[0] anstatt getUIElem(string) durhführt.