2015-09-14 41 views
11

我有一個包含多個鏈接的本地markdown文件,我希望鏈接頭像pdf這樣的本地文件。如何使用markdown語法鏈接到任何本地文件?

我使用的語法如下:

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

但是當我打開我的降價文件到Firefox網頁並點擊鏈接,沒有發生。

我完全錯過了什麼?有可能打開本地文件?

回答

8

你是如何打開渲染的Markdown?

如果您通過HTTP託管它,即您通過http://https://訪問它,則大多數現代瀏覽器將拒絕打開本地鏈接,例如,與file://。這是一個security feature

出於安全目的,Mozilla應用程序阻止從遠程文件到本地文件(和目錄)的鏈接。這包括鏈接到硬盤上的映射網絡驅動器上的文件,並可通過Uniform Naming Convention(UNC)路徑訪問。這防止一些不愉快的可能性,包括:

  • 允許網站通過檢查默認安裝路徑來檢測你的操作系統
  • 允許網站利用系統漏洞(例如,在Windows 95/98 C:\con\con
  • 允許網站檢測瀏覽器偏好設置或讀取敏感數據

有列出了一些解決方法在那個頁面上,但我的建議是如果可以的話避免這樣做。

+1

正如我所說的,我用Mozilla Firefox 40.0.3使用插件「Markdown Viewer」打開了我的降價文件。 –

+0

啊,你之前沒有提到過這個插件;-)我用MarkdownPad的HTML導出(我認爲是「Firefox頁面」意思)來試用它。請檢查插件的幫助/支持渠道。 –

1

是的,這是可能的。我嘗試了上面的例子,我的PDF在Firefox中打開。我將MD,HTML和PDF文件分散到不同的目錄中,以排除我的Markdown編輯器以某種方式將文件鏈接轉換爲相關文件的可能性。

使用[my file](\C:\\my_file.pdf)也應該有效。

+0

我試過你的解決方案,但問題仍然存在。 –

3

您鏈接到本地​​文件的方式與鏈接到本地​​圖像的方式相同。這裏有一個例子鏈接在同一個目錄降價源文件start_caQtDM_7id.sh

![start_caQtDM_7id.sh](./start_caQtDM_7id.sh) 
1

的答案都不爲我工作。但是在BarryPye的答案中得到啓發,我發現它在使用相對路徑時起作用!

# 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 
相關問題