2014-09-30 264 views
-2

我與這四類非常困惑,而聯JS,CSS和圖像的應用程序,因爲我爲我的應用程序創建的文件夾結構..何時和如何使用相對路徑/絕對路徑/根路徑/和〜/路徑?

聽說~/Images/up.png意味着無論你在哪裏說到根和搜索爲Image文件夾並給出圖像。當我嘗試這個..時,它不起作用。我用../Images/up.png它工作..我用/Images/Images.png它也工作,所以請解釋我爲什麼。

回答

0

您在訪問您自己的直接域之外的東西時主要使用絕對路徑。
因此,如果您的網站託管在www.mysite.com上,而您的圖片位於images.mysite.com - 您將使用它們的絕對路徑。

同樣,你在內部使用相對路徑。相對路徑是../images/up.png。 你也可以在內部使用絕對路徑,但通常你不想這樣做,因爲它簡化了用法,不必考慮資源位於哪個域,而只需考慮相對於內容的位置。

至於~/那麼這是一個.NET的事情,確實意味着回到網站的根。 然而,它需要專門使用,所以你不能只是一個正常的鏈接和使用~/
它需要解決的服務器端,例如可以使用ResolveUrl - 例如ResolveUrl("~/images/up.png")完成,並使用返回的鏈接。具體的控件會自動爲你解析url,但它仍然通過.NET解決。
因此它主要用於,因爲你不必擔心如何多層次的頁面您的工作是從根(所以你不必擔心它是否是當前../images/up.png../../images/up.png

0

〜是位於根

如此 '〜/ 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將

http://www.google.com

+0

感謝很好的解釋.. – Torakami 2014-09-30 09:19:32