"René Lønstrup \(AKA Rel7Star\)" <7star@iname.com> writes:
> Jo, men som der også står aller nederst på siden:
> Unfortunately this object detect, too, is not enough. Opera 6 says it
> supports createElement though it cannot actually add the created element to
> the document. At the moment I don't know what to do about it. I hope Opera
> will either remove support for createElement or add support for actually
> doing something with the element.
> I det tilfælde kan du jo alligevel godt bruge snifferscriptet til at omgå
> Opera 6
Jep. Det vigtige er blot at lave koden så den virker på
standard-overholdende browsere, og så kun lave browsertjek for de
browsere der ikke virker rigtigt (og har tilstrækkelig udbredelse til
at man gider). Så vil en ny, ukendt, men standard-overholdende, browser
stadig kunne se det.
Det der ofte sker er at folk laver noget der kun virker i IE, og så
laver browserdetect for nogle få andre browsere til at virke også, og
så virker det *kun* i de browsere. Det er ikke fremtidssikret.
> Og det er jo desværre ikke et enestående tilfælde, i fbm. Opera (eks.
> forstår O5 ikke offsetHeight og bruger i stedet style.pixelHeight, men vil
> alligevel bestå en document.getElementById prøve.
Afgjort. Man må aldrig bruge en test til at udtale sig om at en anden
feature findes. Lige som man ikke kan konkludere at document.all
findes medføre at det er en IE. Hvis du bruger
document.getElementById, så test for den, hvis du vil bruge
offsetHeight, så test for den specifikt. Der var ingen der sagde at
det skulle være nemt :)
> O6 forstår derimod begge metoder, mens O7 kun forstår offsetHeight..
> Det er ikke nemt ;) ).
Skriv til standarden, beslut hvilke andre browsere der også skal kunne
se siden, og lav undtagelser for disse. Så må du beslutte om O5 er
vigtig :).
> Anyway, vi er nok enige langt hen ad vejen når det kommer til stykket (men
> hvorfor gøre det let, når man med lidt omhu kan gøre det helt umuligt
> ;) ), - jeg svarede sådan set også bare på om det var muligt at
> identificere Opera, selv om den forklædte sig som en anden browser (hvilket
> det så er)
(med mindre ens proxy laver fusk ... Proximitron har et filter der
hedder "Hide Browser's Identity from JS" til den slags :)
Men ja, Opera skriver altid Opera et sted i browser-id'en.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'