2010-01-29 2 views
5

Je voudrais intégrer le téléchargeur d'image Aurigma (http://www.aurigma.com/Products/ImageUploader/) sur un site Web.Comment puis-je détecter si un contrôle ActiveX est chargé?

Sur Internet Explorer, le contrôle est un contrôle ActiveX qui émet une invite de sécurité avant la première installation.

Pour donner à l'utilisateur des instructions sur la façon de réagir à cet avertissement de sécurité, j'aimerais afficher une fenêtre d'information. Je veux afficher cette fenêtre seulement le contrôle est pas chargé.

if (controlIsNotLoaded()) { 
    doSomething() 
    } 

Comment puis-je faire cela?

+1

Je vous recommande fortement d'utiliser un téléchargeur Flash (avec sauvegarde HTML) plutôt que des contrôles ActiveX personnalisés. L'acceptation de l'utilisateur est beaucoup, beaucoup plus élevée et vous ne demanderez pas aux gens de compromettre la sécurité en faisant confiance à un nouveau plugin tiers. Aurigma a certainement eu plusieurs vulnérabilités dans le passé; il n'y a aucun moyen que je le laisse fonctionner sur ma machine. De plus, il n'y a pas de solution de repli HTML intégrée, vous ne pouvez donc l'offrir qu'en option. – bobince

+0

@bob: Conseil judicieux. –

+0

@bobince: Merci pour le conseil. Je serais beaucoup plus heureux d'utiliser un téléchargeur basé sur Flash. Y en a-t-il un que vous pouvez recommander? –

Répondre

6

En supposant que vous possédiez l'ID de la balise object (si elle provient de cela), testez l'attribut object de l'élément contre null.

function controlNotLoaded() 
{ 
    var obj = document.getElementById("controlId"); 
    return (obj.object == null); 
} 

Si vous utilisez un nouvel objet ActiveXObject, une exception est générée. Bien sûr, cela ne vous indiquera que si le contrôle ne peut pas être créé, pas nécessairement pourquoi.

+0

Merci beaucoup pour cette réponse! Cela fonctionne parfaitement. –

Questions connexes