gpt4 book ai didi

javascript - 为什么 ~/在脚本引用中不起作用?

转载 作者:行者123 更新时间:2023-11-29 15:42:40 24 4
gpt4 key购买 nike

我正在为我的 ASP.NET 项目使用 jQuery。我刚刚意识到,如果导航深度不那么深,它只会起作用。例如

  • http://localhost/myapp/index/ 有效
  • http://localhost/myapp/index/sites/sub/ 不工作

我遇到的错误是jQuery引起的。 Firebug 告诉我,那

$ is not defined.

经过一些研究,我改变了我的元定义:

<link rel="Stylesheet" type="text/css" href="~/Css/style.css" />
<script src="~/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="~/Scripts/jquery.uniform.min.js" type="text/javascript"></script>

还是不行。在查看服务器响应后,CSS 链接的 href 被正确替换:

<link rel="Stylesheet" type="text/css" href="../../Css/style.css" />

但是,对于我的脚本资源,相对路径还没有被替换:

<script src="~/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="~/Scripts/jquery.uniform.min.js" type="text/javascript"></script>

我期望像 ../../Scripts/jquery-1.7.2.min.js 这样的东西。

这是通缉行为吗?我应该如何正确设置脚本资源的应用程序根引用?当我将我的网站作为 Web 应用程序托管在 IIS 中时,编写 /Scripts/jquery-1.7.2.min.js 是否可行?

最佳答案

尝试 Page.ResolveUrl()改为链接到您的资源:

<link rel="Stylesheet" type="text/css" href="<%=Page.ResolveUrl("~/Css/style.css")%>" />
<script src="<%=Page.ResolveUrl("~/Scripts/jquery-1.7.2.min.js")%>" type="text/javascript"></script>
<script src="<%=Page.ResolveUrl("~/Scripts/jquery.uniform.min.js")%>" type="text/javascript"></script>

这将解析到您网站的父目录,无论它是托管为应用程序的根目录还是虚拟目录。

关于javascript - 为什么 ~/在脚本引用中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16792917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com