Hallo,
bezüglich Internet Explorer gilt:
im Browser selbst sind Active-X-Control-Einstellungen treffbar,
die Firewall kann ebenfalls zu installiernede Active-X-Control abfangen,
Microsoft schaltet Active-X-Control teilweise ab bzw. ersetzt sie
z.B. DirectX -Direct Animation,
Sicherheitspatches schränken Zugriff auf Active-X-Controls ein.
Mit anderen Worten: Lohnt sich Active-X dann noch ? Vorallem: Was ist bei der nächsten Windows-Version und deren Brwoserversionen - beide je nach Patchstand ? Und was stellt der User so ein ?
Auf meiner Webseite www.twseite.de, die komplett in JScript geschrieben ist (nur für den Internet Explorer) hatte ich u.a.
Direct X Direct-Animation verwendet, was ab IE 6 unter WinXP SP 2 gnadenlos von Microsoft weggepatcht wurde, dagegen unter WinXP SP1 läuft (dort ist DirectX-Komponente noch verfügbar). Auch die Popupsteuerung des IE 7 ist inkompatibel zum IE 6 und führt im IE 7 unter bestimmten Bedingungen zu richtig bösen Scriptfehlern - popup wurde von mir deaktiviert und ersetzt durch DIV.
(Für weitere Infos bezüglich Active-X-Control im IE siehe meine
Webseite www.twseiten.de (nicht www.twseite.de), dort PDF-Downloads.).
Nachfolgend ein Beispiel, das einst ohne Klickzwang funktioniert hat (bei Windows-Version aus vergangener Zeit). Die Patentbefriedigung per Klickzwang ist einbekanntes Beispiel, wie Microsoft patcht.
Gruss Tom.
<HEAD>
<!-- Quelltext wurde mit Windows notepad.exe erstellt -->
<SCRIPT>
// nur IE
// Sound mit dem Mediaplayer-Control abspielen: Control wird gerendert
var SoundStarten_TimeoutID=0;
function SoundStarten()
{// auf Soundkarte prüfen
if (ID_PlayerObjekt.IsSoundCardEnabled())
{// Soundkarte vorhanden
// Musik geladen und abspielfähig ?
if (ID_PlayerObjekt.readyState == 4)
{// geladen, also Playerinstanz starten
ID_PlayerObjekt.Run();
// Musik widergeben
ID_PlayerObjekt.Play;
alert('Musik ist theoretisch gestartet, aber wegen Klick-Zwang auf Control startet sie nur,\n'
+'wenn PARAM "AutoStart" auf "1" stehen würde.\n\n'
+'Den Klickzwang musste Microsoft wegen Patentstreit implementieren - zu Lasten der Nutzer.\n\n'
+'1. Klick auf Mediaplayer bewirkt Patent-Befriedigung.\n'
+'2. Klick muss auf Play-Taste erfolgen, damit Musik erklingt.'
);
}
else{SoundStarten_TimeoutID=window.setTimeout('SoundStarten()', 100);}
}
else{alert('Keine Soundkarte gefunden !');}
}
</SCRIPT>
</HEAD>
<BODY>
<OBJECT ID="ID_PlayerObjekt"
CLASSID="CLSID:05589FA1-C356-11CE-BF01-00AA0055595A"
<PARAM NAME="FileName" VALUE="a0.mp3">
<PARAM NAME="AutoStart" VALUE="0"> <!-- kein Autoplay -->
</OBJECT>
<SCRIPT>
if(ID_PlayerObjekt != null){SoundStarten();}
</SCRIPT>
</BODY>
</HMTL>