2017-08-02 231 views
0

我刮在具有類似HTML相對路徑與絕對file://協議

<a href="/pages/1></a> 網站

我也有window.location對象,在那裏我有

origin:"http://www.example.org" 

所以我可以建立像絕對路徑origin + href = http://www.example.org/pages/1

我做了我的文件頁面的模型系統進行測試。

-www.example.org 
    |-2017 
    |-pages 
     |-1.html 
     |-2.html 
    |-2016 
    |-pages 
     |-1.html 
     |-2.html 
這些HTML

文件的鏈接是這個樣子:

<!-- www.example.org/2016/pages/1.html --> <a href="../../2017/pages/1.html">2017</a>

在測試相同的代碼將無法正常工作,因爲window.location的對象的起源是file://

hash:"" 
host:"" 
hostname:"" 
href:"file:///home/me/projects/fp/src/test/fixtures/www.example.org/2016/pages/1.html" 
origin:"file://" 
pathname:"/home/me/projects/fp/src/test/fixtures/www.example.org/2016/pages/1.html" 
port:"" 
protocol:"file:" 

其中產生origin + href = file://../../2017/pages/1.html。如果協議是file:,對於一些字符串操作,我可以從location.pathname製作file:///home/me/projects/fp/src/test/fixtures/www.example.org/2017/pages/1.html。但是,解決這個問題是否正確?

+0

[File Uri Scheme和相關文件]的可能重複(https://stackoverflow.com/questions/7857416/file-uri-scheme-and-relative-files) – lazyvab

回答

1

file://只能用於絕對路徑。

只有工作的相對路徑是當前工作目錄。