2014-09-30 225 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