我與這四類非常困惑,而聯JS,CSS和圖像的應用程序,因爲我爲我的應用程序創建的文件夾結構..何時和如何使用相對路徑/絕對路徑/根路徑/和〜/路徑?
聽說~/Images/up.png
意味着無論你在哪裏說到根和搜索爲Image
文件夾並給出圖像。當我嘗試這個..
時,它不起作用。我用../Images/up.png
它工作..
我用/Images/Images.png
它也工作,所以請解釋我爲什麼。
我與這四類非常困惑,而聯JS,CSS和圖像的應用程序,因爲我爲我的應用程序創建的文件夾結構..何時和如何使用相對路徑/絕對路徑/根路徑/和〜/路徑?
聽說~/Images/up.png
意味着無論你在哪裏說到根和搜索爲Image
文件夾並給出圖像。當我嘗試這個..
時,它不起作用。我用../Images/up.png
它工作..
我用/Images/Images.png
它也工作,所以請解釋我爲什麼。
您在訪問您自己的直接域之外的東西時主要使用絕對路徑。
因此,如果您的網站託管在www.mysite.com上,而您的圖片位於images.mysite.com - 您將使用它們的絕對路徑。
同樣,你在內部使用相對路徑。相對路徑是../images/up.png
。 你也可以在內部使用絕對路徑,但通常你不想這樣做,因爲它簡化了用法,不必考慮資源位於哪個域,而只需考慮相對於內容的位置。
至於~/
那麼這是一個.NET的事情,確實意味着回到網站的根。 然而,它需要專門使用,所以你不能只是一個正常的鏈接和使用~/
它需要解決的服務器端,例如可以使用ResolveUrl - 例如ResolveUrl("~/images/up.png")
完成,並使用返回的鏈接。具體的控件會自動爲你解析url,但它仍然通過.NET解決。
因此它主要用於,因爲你不必擔心如何多層次的頁面您的工作是從根(所以你不必擔心它是否是當前../images/up.png
或../../images/up.png
)
〜是位於根
如此 '〜/ JS/fancyscript.js' 手段回去根進入js和發現fancyscript.js
'/js/fancyscript.js' 手段進入js和發現fancyscript.js這並不總是工作,因爲並不總是一個/ js文件夾
例如,這是我的項目
site
/css
style.css
/js
fancyscript.js
/include
view.html
index.html
我有我的索引在我的根文件夾,在這裏,我可以使用相對路徑,包括我看中劇本 「/js/fancyscript.js」
它將find/js,它會發現我的腳本
但是,當我在/include/view.html工作,我必須先回去1個文件夾,所以相對路徑將在這種情況下'../js/fancyscript .js'(上一個文件夾進入/ js並找到fancyscript.js)
由於js文件夾在我的例子中,我也可以使用'〜/ js/fancyscript。JS'
絕對路徑和相對路徑之間的區別是,絕對路徑是一個完整的通路和相對距離,其中當正在執行
代碼,以便如上所示的示例是相對於路徑的點而對於absulote路徑的axample將
感謝很好的解釋.. – Torakami 2014-09-30 09:19:32