我有一個包含多個鏈接的本地markdown文件,我希望鏈接頭像pdf這樣的本地文件。如何使用markdown語法鏈接到任何本地文件?
我使用的語法如下:
[my link](file:///C:/my_file.pdf)
但是當我打開我的降價文件到Firefox網頁並點擊鏈接,沒有發生。
我完全錯過了什麼?有可能打開本地文件?
我有一個包含多個鏈接的本地markdown文件,我希望鏈接頭像pdf這樣的本地文件。如何使用markdown語法鏈接到任何本地文件?
我使用的語法如下:
[my link](file:///C:/my_file.pdf)
但是當我打開我的降價文件到Firefox網頁並點擊鏈接,沒有發生。
我完全錯過了什麼?有可能打開本地文件?
你是如何打開渲染的Markdown?
如果您通過HTTP託管它,即您通過http://
或https://
訪問它,則大多數現代瀏覽器將拒絕打開本地鏈接,例如,與file://
。這是一個security feature:
出於安全目的,Mozilla應用程序阻止從遠程文件到本地文件(和目錄)的鏈接。這包括鏈接到硬盤上的映射網絡驅動器上的文件,並可通過Uniform Naming Convention(UNC)路徑訪問。這防止一些不愉快的可能性,包括:
- 允許網站通過檢查默認安裝路徑來檢測你的操作系統
- 允許網站利用系統漏洞(例如,在Windows 95/98
C:\con\con
)- 允許網站檢測瀏覽器偏好設置或讀取敏感數據
有列出了一些解決方法在那個頁面上,但我的建議是如果可以的話避免這樣做。
是的,這是可能的。我嘗試了上面的例子,我的PDF在Firefox中打開。我將MD,HTML和PDF文件分散到不同的目錄中,以排除我的Markdown編輯器以某種方式將文件鏈接轉換爲相關文件的可能性。
使用[my file](\C:\\my_file.pdf)
也應該有效。
我試過你的解決方案,但問題仍然存在。 –
您鏈接到本地文件的方式與鏈接到本地圖像的方式相同。這裏有一個例子鏈接在同一個目錄降價源文件start_caQtDM_7id.sh
:
![start_caQtDM_7id.sh](./start_caQtDM_7id.sh)
的答案都不爲我工作。但是在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
正如我所說的,我用Mozilla Firefox 40.0.3使用插件「Markdown Viewer」打開了我的降價文件。 –
啊,你之前沒有提到過這個插件;-)我用MarkdownPad的HTML導出(我認爲是「Firefox頁面」意思)來試用它。請檢查插件的幫助/支持渠道。 –