JavaScript脚本标记中的绝对路径

JavaScript脚本标记中的绝对路径,javascript,asp.net,script-tag,Javascript,Asp.net,Script Tag,声明标记时是否存在绝对路径 如果我在文件夹中有一个aspx页面(一级),这将解决问题 scriptsrc=“../Scripts/jquery-1.4.1.js”type=“text/javascript”> 如果我在文件夹中有一个aspx页面(两级),这将解决问题 scriptsrc=“../../Scripts/jquery-1.4.1.js”type=“text/javascript”> 如果我在主根目录中有一个aspx页面,这将解决问题 scriptsrc=“Scripts/jquery

声明标记时是否存在绝对路径

如果我在文件夹中有一个aspx页面(一级),这将解决问题 script
src=“../Scripts/jquery-1.4.1.js”type=“text/javascript”>

如果我在文件夹中有一个aspx页面(两级),这将解决问题 script
src=“../../Scripts/jquery-1.4.1.js”type=“text/javascript”>

如果我在主根目录中有一个aspx页面,这将解决问题 script
src=“Scripts/jquery-1.4.1.js”type=“text/javascript”>


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

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

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

如果需要使用jquery,可以始终使用一条绝对路径到google cdn

http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js
一个好的主题:读入的相对路径和绝对路径的不同形式是什么:

(巧合:我和@Daniel Vassallo在这篇文章中的参与者)

我更喜欢使用
标记,并根据基本标记给出参考

比如:
对于ASP.NET MVC,请在您的视图中使用。波浪号使您的路径相对于应用程序根目录,如果您作为IIS虚拟应用程序运行,应用程序根目录可以是子文件夹

如果是WebForms,请在页面中尝试或

(作为旁白,您可能还需要考虑)

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

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


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

如果您使用主题,则代码插入(如“”)似乎不是一个选项。如果您使用它们,您会得到一个例外。

您使用的是MVC还是WebForms?有趣的巧合:)+1为jQuery推荐Google CDN。不过,我想这个问题也会扩展到OP的其他脚本,选择了
jquery-1.4.1.js
作为示例。我在网站上有几十个不同的javascript文件,因此使用“”只能修复一个javascript文件。这不起作用。。在$(document)@ronald yoh上仍然有“object expected”:如果
Scripts
位于您的域根目录中,则应该是这样的:)。。。注意:如果您的
脚本
文件夹位于
http://your-domain.com/mysite/Scripts/
,则必须使用
src=“/mysite/Scripts/jquery-1.4.1.js”
。但是,如果您的
脚本位于
http://your-domain.com/Scripts/
那么我答案中的例子就可以了。我已经使用w3schools多年了,我很难想出我发现的任何错误。我认为他们的可靠性相当好。它们不包括许多浏览器支持的专有扩展,即使几乎每个浏览器都支持某种风格的扩展,因此从这个意义上讲它们是不完整的。至于不是W3C的一个分支,他们有没有说过他们是?我不认为名称中包含“sql”的每个网站都与ANSI有关联。
<script src="/Scripts/jquery-1.4.1.js" type="text/javascript">