web-dev-qa-db-fra.com

Les liens Firefox vers des pages locales ou réseau ne fonctionnent pas

J'ai une application .asp où les fichiers image (.PDF) sont stockés dans un répertoire (alimenté par un copieur/scanner). Les noms de fichiers créés sont stockés dans une table de base de données. Lorsqu'une requête est lancée à partir de la page Web, un lien vers le fichier est créé. Lorsque vous cliquez dessus, l'image doit s'afficher. Cette fonctionnalité fonctionne à 100% dans Internet Explorer. Pas de chance dans Firefox (et j'ai des utilisateurs de Firefox). Le lien hypertexte créé ressemble à ceci file://Server/Scanner/XYZ.pdf

Firefox aide à suggérer la raison:

Les liens vers des pages locales ou réseau ne fonctionnent pas. Par mesure de sécurité, Firefox interdit aux sites Internet de créer des liens vers des fichiers stockés dans votre environnement informatique local. Ces fichiers peuvent inclure des fichiers sur votre ordinateur, des lecteurs réseau mappés et des chemins d'accès réseau UNC

Aucune des suggestions de solution de contournement ne semble fonctionner (ou je ne comprends pas les étapes pour créer l'affichage de l'image) Des suggestions?

34
Joe

Il s'agit du comportement par défaut de Firefox conçu pour la sécurité. L'hypothèse est probablement que la plupart des sites Web ne savent pas où et où sont vos fichiers locaux (y compris les chemins UNC).

Cela pourrait être désactivé dans Firefox:

  • tapez "about: config" dans la barre d'adresse et acceptez "je ferai attention"
  • recherchez "security.checkloaduri" dans les anciennes versions ou "security.fileuri.strict_Origin_policy" dans les versions plus récentes de firefox et changez la valeur en "false"
  • redémarrer Firefox

Cela devrait le faire pour vous. Vous avez plus d'informations ici:

31
Marko Dumic

Firefox> = 68.0.1

Je peux prévisualiser dans Firefox à la fois des images et des fichiers PDF avec des liens de fichiers locaux en utilisant les paramètres mentionnés ici: https://bugzilla.mozilla.org/show_bug.cgi? id = 1303727

J'ai utilisé des liens avec un fichier local: <a href="file://N:/path/to/file.ext">test</a>

et ajouté dans user.js les paramètres mentionnés (avec liste de sites ajustée):

user_pref ("capacity.policy.policynames", "localfilelinks"); user_pref ("capacity.policy.localfilelinks.sites", " http: //my.intranet "); user_pref ("capacity.policy.localfilelinks.checkloaduri.enabled", "allAccess");

De plus, lorsque j'ai réglé Firefox sur "Toujours demander" pour les fichiers PDF, j'ai pu "Ouvrir avec" le PDF dans Adobe Acrobat Reader DC, qui a signalé le dossier local attendu lors de l'accès à "Fichier -> Propriétés".


Firefox> = 1.5.x <20 (ish)

Recherchez le dossier de profil Firefox sur votre disque dur, par ex. (12345678 représente huit chiffres et lettres aléatoires):

  • Windows: "C:\Documents and Settings\Username\Application Data\Mozilla\Firefox\Profiles12345678.default \"
  • Linux: "/home/username/.mozilla/firefox/12345678.default/"
  • OS X:/Nom d'utilisateur/Bibliothèque/Support d'application/Firefox/Profils/12345678.default /

Dans ce dossier, créez un fichier texte avec le nom user.js . Écrivez la ligne suivante dans ce fichier texte:

user_pref("capability.policy.default.checkloaduri.enabled", "allAccess");

Fonctionne sur mon PC (Firefox 3.0.3 et 19.0 beta ) avec les références suivantes:

  • <img src="file://///server/share/image.png" />
  • <img src="file://\\\server\share\image.png" />
  • <img src="file://d:\image.png" />
  • <img src="file:///d:\image.png" />
  • <img src="file://d:/image.png" />
  • <img src="file:///d:/image.png" />
  • <img src="file://localhost/d:/image.png" />

De plus, si vous utilisez le module complémentaire NoScript, cochez l'option Advanced\Trusted\Allow local links .

13
alexandrul

En lisant la solution donnée ici, j'ai suivi le lien Les liens vers les pages locales ne fonctionnent pas et pour moi, cela a bien fonctionné (j'utilise wordpress pour un compte personnel) FAQ sur une installation Wamp locale):

  • Accédez à "% Vos documents et paramètres%\Application Data\Mozilla\Firefox\Profiles \% votre profil% \"
  • éditez le fichier "prefs.js"
  • ajoutez les lignes suivantes à la fin du document:

.

user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
user_pref("capability.policy.localfilelinks.sites", "http://localhost");
user_pref("capability.policy.maonoscript.javascript.enabled", "allAccess");

Vous pouvez laisser le paramètre "security.checkloaduri" à sa valeur par défaut, ainsi que "security.fileuri.strict_Origin_policy". Grâce à ces 3 lignes, vous faites juste une exception pour votre serveur local.

Attention, si vous devez revenir à ce fichier prefs.js, notez que Firefox l'aura ordonné par ordre alphabétique. Ainsi, les 3 lignes que vous aurez ajoutées à la fin seront quelque part au début;).

6
Nicolas C.

La solution de Marko devrait fonctionner pour les liens qui se trouvent également sur le système de fichiers local, mais je ne pense pas qu'elle devrait permettre à une page http: // de créer un lien vers une page file: //.

Le problème pour les personnes établissant un lien à partir des pages http: // est discuté ici: http://kb.mozillazine.org/Links_to_local_pages_do_not_work ainsi qu'une explication sur la façon de le contourner et de vous exposer au risque.

2
Richard

Vous pouvez charger le module complémentaire LocalLink FireFox, qui vous permet de cliquer avec le bouton droit sur un lien local et de sélectionner "Ouvrir dans la fenêtre de premier plan". Les autres éléments du menu "Ouvrir ..." sont censés fonctionner, mais pas pour moi.

http://locallink.mozdev.org/

De plus, vous pouvez utiliser NoScript, comme le suggère Alex, qui permet un clic normal sur les liens locaux. Merci Alex.

2
Gordon Bell

Des tonnes de remerciements, je cherchais cette solution depuis des mois,

:: Cette chose a fonctionné ::

Cela pourrait être désactivé dans Firefox:

* type "about:config" in the address bar and accept "i'll be careful"
* find "security.checkloaduri" in older versions or "security.fileuri.strict_Origin_policy" in newer versions of firefox and change the value to "false"
* restart firefox

::::

1
sunny

Vous pouvez à la place lire le fichier sur le disque, puis l'envoyer dans la réponse depuis votre page.

Voir ceci lien pour un exemple.

1
Geoff

méfiez-vous de l'incompatibilité avec les repères (remplacement de la barre d'outils Google), le lien local et le gestionnaire de règles ont tous deux fonctionné pour moi; le lien local est un peu plus fluide, le gestionnaire de règles vous donne plus de contrôle

0
ezra abrams

ne devriez-vous pas vraiment stocker les pages dans votre répertoire d'application et les référencer de cette façon. http: //SITENAME/Server/scanner/XYZ.pdf .

Nous faisons quelque chose de similaire avec les fichiers stockés dans un seul répertoire et stockons simplement le nom du fichier. nous créons ensuite le lien en utilisant le nom de dossier connu et ajoutons le nom du fichier. cela fonctionne assez bien.

Enfin, Firefox est beaucoup plus anal sur les directions des barres obliques dans les noms de fichiers. Assurez-vous qu'ils sont tous "/" plutôt que "\".

J'espère que cela t'aides.

0
wax eagle

file://localhost///servername/share/file.txt fonctionne pour moi sur FF11

(à partir d'un fichier html local: file:///C:/index.html)

0
Alex L