繁体   English   中英

JavaScript脚本标记中的绝对路径

[英]Absolute path in JavaScript script tag

声明标签时是否有绝对路径?

如果我在一个文件夹(一个级别)脚本中有一个aspx页面src="../Scripts/jquery-1.4.1.js" type="text/javascript">

如果我在一个文件夹(两级)脚本src="../../Scripts/jquery-1.4.1.js" type="text/javascript">有一个aspx页面,这将解决

如果我在主根脚本中有一个aspx页面src="Scripts/jquery-1.4.1.js" type="text/javascript">这将解决

我真的需要为每个相对路径创建不同的版本吗?

您可能希望使用域根目录中的相对路径:

<script src="/Scripts/jquery-1.4.1.js" type="text/javascript">

对于ASP.NET MVC ,在视图中使用Url.Content(“〜/ Scripts / jquery-1.4.1.js”) 代字号使您的路径相对于应用程序根目录,如果您作为IIS虚拟应用程序运行,则可以是子文件夹。

如果是WebForms ,请在页面中尝试Page.ResolveUrl()VirtualPathUtility.ToAbsolute()

顺便说一句 ,您可能还想考虑从CDN加载jQuery

在webforms应用程序中引用脚本和css文件时,请使用

"<%=ResolveUrl("~/path/file.ext") %>"

这类似于MVC中的"@Url.Content("~/path/file.ext")"并且将用应用程序基本路径替换〜(应用程序根目录),无论它是服务器上的根应用程序还是某个虚拟目录中的根应用程序。 如果使用绝对路径(/path.file.ext),当您的应用程序位于网站的根目录时,它可能适合您,但当您将其移动到虚拟目录时,它可能会停止解析资源。

如果你需要jquery使用可以使用google cdn的一个绝对路径

http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js

一个好主题:读入的相对与绝对路径的不同形式是什么:

绝对vs相对URL

(巧合:我和@Daniel Vassallo参与此帖)

如果您使用主题,代码插入如"<%=ResolveUrl("~/path/file.ext") %>"似乎不是一个选项。 如果你使用它们,你会得到一个例外。

我更喜欢使用<base>标签并根据该基本标签给出参考

有点像: http//www.w3schools.com/tags/tag_base.asp

<script src="/Scripts/jquery-1.4.1.js" type="text/javascript">

这个在网络表单中根本不起作用。 “/”不代表网站根目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM