web-dev-qa-db-fra.com

Comment un lien vers un fichier local avec la syntaxe de démarquage?

J'ai un fichier de démarquage local contenant plusieurs liens et je veux que les liens se dirigent vers un fichier local comme pdf.

J'utilise la syntaxe suivante:

[my link](file:///C:/my_file.pdf)

Mais lorsque j'ouvre mon fichier de démarquage dans une page Firefox et que je clique sur le lien, rien ne se passe.

Qu'est-ce que j'ai manqué exactement? Est-il possible d'ouvrir un fichier local?

50
Alexis Le Provost

Comment ouvrez-vous le rendu Markdown?

Si vous l’hébergez via HTTP, c’est-à-dire que vous y accédez via http:// ou https://, la plupart des navigateurs modernes refusent d'ouvrir des liens locaux, par exemple. avec file://. Ceci est un fonctionnalité de sécurité :

Pour des raisons de sécurité, les applications Mozilla bloquent les liens vers les fichiers locaux (et les répertoires) à partir de fichiers distants. Cela inclut la liaison aux fichiers sur votre disque dur, sur des lecteurs réseau mappés et accessibles via des chemins niform Naming Convention (UNC). Ceci empêche un certain nombre de possibilités désagréables, notamment:

  • Permettre aux sites de détecter votre système d'exploitation en vérifiant les chemins d'installation par défaut
  • Autoriser les sites à exploiter les vulnérabilités du système (par exemple, C:\con\con dans Windows 95/98)
  • Permettre aux sites de détecter les préférences du navigateur ou de lire des données sensibles

Certaines solutions de contournement sont répertoriées sur cette page, mais ma recommandation est d'éviter de le faire si vous le pouvez.

21
Chris

Aucune des réponses n'a fonctionné pour moi. Mais inspiré par la réponse de BarryPye, j'ai découvert que cela fonctionne lorsque des chemins relatifs sont utilisés!

# Contents from the '/media/user/README_1.md' markdown file:

Read more [here](./README_2.md) # It works!
Read more [here](file:///media/user/README_2.md) # Doesn't work
Read more [here](/media/user/README_2.md) # Doesn't work
35

Vous créez un lien vers un fichier local de la même manière que vous créez un lien vers des images locales. Voici un exemple de lien vers le fichier start_caQtDM_7id.sh dans le même répertoire que la source de démarquage:

![start_caQtDM_7id.sh](./start_caQtDM_7id.sh) 
12
BarryPye