Zitat:
Zitat von SilentWarrior
Zitat:
Zitat von laborix
...Erklärung warum nur mit Javascript...
|
Die würde mich interessieren!
|
Nun gut, ich habe vermutet das ich das hier gefragt werde. Also hier die Erklärung zu der ganzen Problematik und warum ich weiter oben <Ist diese "etwas ungewöhnliche" Methode grundsätzlich barrierefrei?> angesprochen habe.
Es geht darum das ich Browser Plugins abfrage, was eigentlich recht simpel über "navigator.plugins" funktioniert. Nun, ich kann aber den Microsoft IE ab 4.0 bis einschliesslich 7.0 beta 2 damit
nicht! abfragen. Somit mache ich auf Grund der Kompatibilität mit XHTML 1.0 eine gemischte Abfrage mittels Javascript in Kombination mit VBScript und der ActiveX Abfrage. Das lässt der Validator des W3C nur in einer ganz speziellen Konstellation zu. Da VBScript ein doch etwas komplexes Problem in XHTML ist, bin ich gezwungen mit <document.write> und <document.writeln> zu arbeiten.
Diese Kombination erlaubt mir die Micosoft Internet Explorer Plugins abzufragen. Um das ganze nur einmal zu "coden", wird in der Webseite dynamisch unterschieden zwischen normale Browser mit <navigator.plugins> und dem Microsoft Internet Explorer, inkl. 7.0 beta 2 mit der VBScript/ActiveX Abfrage. Sollte jetzt einer auf die Idee kommen und iCab, FF, Konqueror, K-Meleon und Opera als Internet Explorer auf diese Webseite zu schicken, so wird
eindeutig! erkannt das dies nicht der original Microsoft Internet Explorer ist
und <navigator.plugins> verwendet
Falls dann noch einer auf die Idee kommt und dem MacOS Internet Explorer auf diese Webseite zu schicken, so wird auch hier erkannt, das es der MacOS Internet Explorer ist
Getestet auf AmigaOS, FreeBSD, Linux (Fedora Core, Red Hat, SuSE), MacOS, OS/2, Solaris (i86pc und Sparc) und Windows 9.x/NT/2000/XP und Microsoft Vista beta 1, sowie Windows Mobile 5.0. Es funktioniert...
Zur Info:
Apple, vielen Dank für das Sample
Zitat:
// You may incorporate this Apple sample code into your own code
// without restriction. This Apple sample code has been provided "AS IS"
// and the responsibility for its operation is yours. You may redistribute
// this code, but you are not permitted to redistribute it as
// "Apple sample code" after having made changes.
|
Zur Info, die zweite: Diese Geschichte zur eindeutigen Identifizierung hat mich schlappe 3 Monate gekostet