Sur un site intranet, disons que je veux créer un lien vers un fichier sur un partage en utilisant UNC, à l'adresse:
\\servername\foldername\filename.rtf
Il semble que la bonne façon de procéder consiste à utiliser un balisage comme celui-ci:
<a href="file://///servername/foldername/filename.rtf">filename.rtf</a>
C'est cinq barres obliques - deux pour le protocole, une pour indiquer la racine du système de fichiers, puis deux autres pour indiquer le début du nom du serveur.
Cela fonctionne bien dans IE7, mais dans Firefox 3.6, cela ne fonctionnera que si le code HTML provient d'un fichier local. Je n'arrive pas à le faire fonctionner lorsque le fichier provient d'un serveur Web. Le lien est "mort" - cliquer dessus ne fait rien.
Existe-t-il une solution à cela dans Firefox? Ces deux navigateurs devraient être tout ce dont je dois m'inquiéter pour l'instant.
Comme il s'agit évidemment d'une fonctionnalité de Firefox, pas d'un bug, quelqu'un peut-il expliquer quel est l'avantage d'empêcher ce type de lien?
En fait, je n'étais pas au courant que Firefox avait cette limitation/fonctionnalité. Je peux comprendre la fonctionnalité, car elle empêche un utilisateur d'accéder involontairement au système de fichiers local. Heureusement, il existe des alternatives utiles qui peuvent fournir une expérience utilisateur similaire tout en respectant le protocole HTTP.
Une alternative à l'accès au contenu via les chemins UNC consiste à publier votre contenu à l'aide du protocole WebDAV . Certains systèmes de gestion de contenu, tels que MS SharePoint, utilisent WebDAV pour fournir l'accès aux documents et aux pages. En ce qui concerne l'expérience de l'utilisateur final, cela ressemble et ressemble à l'accès aux fichiers réseau avec un chemin UNC; cependant, toutes les interactions de fichiers sont effectuées via HTTP.
Cela peut nécessiter un changement modeste dans votre philosophie d'accès aux fichiers, je vous suggère donc de lire le protocole WebDAV, la configuration et la gestion des autorisations en ce qui concerne votre technologie de serveur spécifique.
Voici quelques liens qui peuvent être utiles si vous souhaitez en savoir plus sur la configuration et l'utilisation de WebDAV sur quelques serveurs HTTP de premier plan:
Cette question a été posée au moins deux fois auparavant, mais je n'ai pas pu trouver ces messages avant de poster le mien (désolé):
Ouvrez un fichier direct sur le disque dur à partir de Firefox (fichier: ///)
Les liens Firefox vers des pages locales ou réseau ne fonctionnent pas
Voici un résumé des réponses des trois articles:
http://
au lieu de file://///
- cela servira une copie du document que l'utilisateur ne peut pas modifier et enregistrer.Security.fileuri.strict_Origin_policy
paramètre false - cela ne fonctionne pas pour moi en 3.6.15. D'autres utilisateurs de [SO] ont également signalé que cela ne fonctionnait pas.Security.fileuri.strict_Origin_policy
à vrai pour vous et semble n'avoir aucun autre effet.http://
.Les navigateurs comme Firefox refusent d'ouvrir le lien file: // lorsque la page HTML parent elle-même est servie en utilisant un protocole différent comme http: //.
Votre meilleur pari est de configurer votre serveur Web pour fournir le fichier mappé réseau en tant que ressource Web afin qu'il soit accessible par http: // à partir du même serveur plutôt que par fichier: //.
Comme il n'est pas clair quel serveur Web vous utilisez, je ne peux pas entrer en détail sur la façon d'y parvenir.
Dans Firefox pour ouvrir File:\\\\\yourFileServer\docs\doc.txt
par exemple, vous devez activer certaines options dans la configuration de Firefox:
user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://yourServer1.companyname.com http://yourServer2.companyname.com");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
Je ne sais pas si cela fonctionnera, mais essayez-le! Ancien article, mais potentiellement toujours utile.
http://www.techlifeweb.com/firefox/2006/07/how-to-open-file-links-in-firefox-15.html