Moin Moin!
aus welchem Grund?
Da ich einen Gecko Bug korrigieren möchte.
Ist dabei Verlass auf
navigator.product === "Gecko"Nein.
Wie kann man denn sicher eine Gecko Engine feststellen?
Gegenfrage: Die Versionen mit dem "Bug" oder die ohne?
Du mußt also ohnehin prüfen, ob der Bug vorhanden ist oder nicht. In dieser Prüfung ist es aber (mit an Sicherheit grenzender Wahrscheinlichkeit) nicht notwendig, auch noch zu prüfen, welche Browserengine benutzt wird.
Also:
if (detectBug()) {
enableWorkaround();
}
Beispiel:
var a=new Array();
if (!a.prototype.push) { // simple, nicht ganz exakte Prüfung für einen uralten IE-Bug
// hierher kommen nur antike IE und vielleicht der eine oder andere Exot, der Bug-kompatibel zum IE ist, sich aber nicht als IE identifiziert. In beiden Fällen ist allen Beteiligten geholfen.
a.prototype.push=function(x) { // nicht ganz perfekter Workaround
this[this.length]=x;
return this.length;
}
}
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".