2012-04-24 1 views
0

J'ai un JS appelant activex pour créer un fichier.ActiveX "aucun bouton" avec JS

var object = new ActiveXObject("Scripting.FileSystemObject"); 
if (object != null) { 
    var file = object.CreateTextFile("C:\\" + str2 + ".csv", false); 
} 

Ceci apparaît dans une boîte ActiveX avec le bouton OUI/NON. Le bouton YES fonctionne bien, mon script est exécuté.

Mon problème est le NO bouton, il retourne un avertissement IE:

serveur Automation ne peut pas créer un objet.

Existe-t-il un moyen de gérer le bouton NO?

+0

Que dit la boîte, en plus de Oui/Non? Avez-vous réellement lu ce qu'il demande? – Domenic

+1

Je travaille avec une version française de IE, une traduction rapide serait: Un contrôle ActiveX essaie de courir sur cette page, voulez-vous l'activer (OUI/NON) –

Répondre

2

Ceci est une caractéristique de sécurité importante. Le code JavaScript arbitraire ne peut pas accéder au système de fichiers. Pour ce faire, vous utilisez ActiveX. Mais parce que cela fait quelque chose de si dangereux, l'utilisateur doit être demandé si c'est OK, ce qui est le pop-up que vous voyez.

Si l'utilisateur choisit "Non", cela signifie qu'il ne fait pas confiance à votre code. Vous devez simplement accepter cela.

Vous pourriez essayer d'ajouter quelque chose comme "Veuillez cliquer sur Oui quand IE vous avertit à propos d'ActiveX, je promets de ne pas trop faire de mal à votre ordinateur!" Mais bien sûr, c'est à l'utilisateur de décider si oui ou non il vous prendra au mot.

+0

Je ne me soucie pas vraiment des gens en cliquant sur le PAS de bouton. Le problème est que quand il est cliqué, IE renvoie une erreur javascript, puisque je ne sais pas comment gérer la réponse "non". –

+0

'try' /' catch'? – Domenic