我刮在具有類似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
。但是,解決這個問題是否正確?
[File Uri Scheme和相關文件]的可能重複(https://stackoverflow.com/questions/7857416/file-uri-scheme-and-relative-files) – lazyvab