給定兩條絕對路徑,例如,從兩個絕對路徑構建JavaScript中的相對路徑
/var/data/stuff/xyz.html
/var/data
如何創建一個使用第二個路徑作爲其基礎的相對路徑?在上面的例子中,結果將是:東西/ xyz.html
又如:
/relative/sub/foo/sub/file
/relative/path
../../../path
這類似於this question,但是我正在尋找最佳的JavaScript解決方案而不是Java。
給定兩條絕對路徑,例如,從兩個絕對路徑構建JavaScript中的相對路徑
/var/data/stuff/xyz.html
/var/data
如何創建一個使用第二個路徑作爲其基礎的相對路徑?在上面的例子中,結果將是:東西/ xyz.html
又如:
/relative/sub/foo/sub/file
/relative/path
../../../path
這類似於this question,但是我正在尋找最佳的JavaScript解決方案而不是Java。
如果你使用的是Node.js服務器上運行此:
http://nodejs.org/api/path.html#path_path_relative_from_to
這是他們實現:
https://github.com/joyent/node/blob/master/lib/path.js#L233
這應該在瀏覽器中工作,而沒有任何更改。它已經過戰鬥測試,所以它已經處理邊緣情況。這不是一蹴而就的,但它完美無瑕,我認爲更重要。 POSIX版本並不差,如果這是你唯一需要支持的。
我正在運行客戶端,但看起來可行。將看看我能否得到它的工作。 –
[使用URI.js](http://medialize.github.com/URI.js/)。 – zzzzBov
「優化」是什麼意思?代碼大小,運行時間或內存使用情況最佳?代碼大小爲 – tjameson
。無法想象內存使用率或運行時間對於如此微不足道的事情來說是一個相當大的因素。 –