我在将js,css和图像链接到应用程序时非常困惑这四个类别,因为我正在为我的应用程序创建文件夹结构。
我听说~/Images/up.png
表示无论您身在何处,它都会找到根目录并搜索Image
文件夹并提供图像。当我尝试这个..
时,它不起作用。我使用../Images/up.png
并且它有效..
我使用了/Images/Images.png
它也有效,所以请解释一下原因。
答案 0 :(得分:0)
在访问您自己的直接域外的事物时,您主要使用绝对路径 因此,如果您的网站托管在www.mysite.com上,并且您的图片位于images.mysite.com上 - 您将使用绝对路径。
同样,您在内部使用相对路径。相对路径是../images/up.png
。
您也可以在内部使用绝对路径,但通常您不希望这样做,因为它可以简化使用,而不必考虑资源所在的域,而只考虑相对于您的内容的位置。
至于~/
那么它是一个.NET的东西确实意味着回到网站的根目录。
但是,它需要特别使用,因此您不能只是建立正常链接并使用~/
它需要在服务器端解析,例如可以使用ResolveUrl - 例如ResolveUrl("~/images/up.png")
并使用返回的链接。特定控件将自动为您解析URL,但它仍然通过.NET解决
所以它主要用于因为您不必担心您的工作页面位于根目录的级别(因此您不必担心它当前是../images/up.png
还是../../images/up.png
)
答案 1 :(得分:0)
〜是根
所以'〜/ js / fancyscript.js'意思是回到root进入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'
它会找到/ js,它会找到我的脚本
但是当我在/include/view.html工作时,我必须首先返回1个文件夹,这样相对路径就是那种情况' ../ js / fancyscript.js' (将一个文件夹放入/ js并找到fancyscript.js)
因为js文件夹在我的例子的根目录中,所以我也可以使用'〜/ js / fancyscript.js'
绝对路径和相对路径之间的区别在于绝对路径是完整路径,而相对来自执行代码的点
因此上面显示的例子是相对路径,而absulote路径的axample是