2009-03-13 8 views
0

Ich habe eine ASP.Net-Website, die Bilddateien auf den Client überträgt. Aufgrund der verrückten Bedürfnisse unserer verschiedenen Benutzer haben einige Client-Arbeitsstationen eine ActiveX-Komponente, die sie auf dieser Website verwenden müssen, um dieses Bild zu bearbeiten, aber aufgrund der Kosten haben nicht alle Benutzer diese Kontrolle. Was ich gerne tun könnte, ist festzustellen, ob der Client dieses ActiveX-Steuerelement installiert hat und dann das Tag basierend auf dem Ergebnis dieses Tests script.Kann festgestellt werden, ob auf dem Client ein bestimmtes ActiveX-Steuerelement installiert ist?

Ich habe das Request-Objekt gründlich untersucht und habe nichts gefunden, was genau das tut, was ich brauche. Request.Browser.ActiveXControls ist nett zu wissen, aber ich muss weiter aufschlüsseln. Gibt es einen anderen Namensraum, den ich mir ansehen sollte? Ist das überhaupt möglich?

Vielen Dank im Voraus.

Antwort

5

Sie können die ActiveX-Verfügbarkeit nicht vom Server aus abfragen. Selbst das Browser.ActiveXControls-Flag ist eine Vermutung aus der UA-Zeichenfolge, die leicht falsch sein kann.

Alles, was Sie tun können, ist versucht, das Objekt von JavaScript zu instanziiert, und nehmen Sie die clientseitige Aktion abhängig, dass:

var obj; 
try { 
    obj= new ActiveXObject('Control.ProgID'); 
} catch (e) { 
    obj= null; 
} 
if (obj) { 
    doActiveXEnhancedVersionOfPageThings(); 
} 
+0

Das ist, was ich dachte. Vielen Dank für Ihre Antwort. –

Verwandte Themen