[英]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
一个好主题:读入的相对与绝对路径的不同形式是什么:
(巧合:我和@Daniel Vassallo参与此帖)
如果您使用主题,代码插入如"<%=ResolveUrl("~/path/file.ext") %>"
似乎不是一个选项。 如果你使用它们,你会得到一个例外。
我更喜欢使用<base>
标签并根据该基本标签给出参考
<script src="/Scripts/jquery-1.4.1.js" type="text/javascript">
这个在网络表单中根本不起作用。 “/”不代表网站根目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.