2010-12-02 22 views
0

Ce script fonctionne dans IE 6 mais pas dans IE 8.0 Mes utilisateurs reçoivent maintenant une "erreur Accès refusé". Quels paramètres puis-je recommander à mes utilisateurs pour activer l'accès au fichier local afin que ce script fonctionne?Ie 8.0 Accès refusé lors de l'ouverture de fichiers locaux

<script language="JavaScript"> 
function viewFile(selectedItem) { 
for (i=0; i<selectedItem.options.length; i++) { 
    if ((selectedItem.options[i] != null) && (selectedItem.options[i].selected == true)) { 
    window.open("file://"+selectedItem.options[i].text); 
    } 
} 
} 
</script> 

Les utilisateurs peuvent sélectionner plusieurs fichiers à partir du lecteur local. La liste est stockée dans une zone de texte, puis clique sur un fichier sélectionné dans la liste.

Exemple:

selectedItem.options[i].text = C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg 
+0

À quoi sert votre script? Ce n'est pas clair à cause de votre question. Est-ce un script de téléchargement? – calvinf

+0

oui c'est un script de téléchargement. le fichier est parcouru et sélectionné à partir de la machine locale. Avant de cliquer sur télécharger, nous allons sélectionner le fichier et cliquez sur le bouton d'affichage qui appellera la fonction viewFile (selectedItem). cela devrait ouvrir le fichier (image/pdf) qui est sélectionné pour le téléchargement. – Hemanth

Répondre

3

Tu ne vas pas être en mesure de le faire « de la boîte » plus que le modèle de sécurité de IE8 est beaucoup plus stricte que IE6.

Vos options sont limitées, mais peuvent inclure:

  1. développer un composant flash pour accéder au lecteur local de l'utilisateur.

  2. Implémentez le site en tant qu'HTA (application html) qui donne un accès promu au système de fichiers de l'utilisateur. Demandez aux visiteurs de personnaliser leurs paramètres de sécurité d'Internet Explorer en ajoutant votre site à la liste des domaines approuvés, puis d'autoriser les domaines approuvés à accéder au protocole file: /// (je ne suis pas sûr du paramètre de sécurité qui s'applique à ce domaine particulier). fonction, ou si l'on est encore disponible)

  3. Développer un objet pluggin ou BHO (similaire au composant flash, mais écrit en C++ ou C#)

  4. Créer un menu contextuel IE -. http://msdn.microsoft.com/en-us/library/bb735853(v=vs.85).aspx qui aura également privilèges élevés.

Comme une note côté des systèmes de fichiers appropriés pour c: chemins \ devrait ressembler à ceci:

file:///c:/documents%20and%20settings/file.jpg

Avis les trois / après file:, espaces uri échappé, et tous \ sont commutés à /