一尘不染

外部文件中Javascript的相对路径

javascript

因此,我正在运行此javascript,并且除背景图片的路径外,其他所有功能都正常运行。它可以在我的本地ASP.NET
Dev环境中使用,但是当部署到虚拟目录中的服务器时则无法使用。

这在外部.js文件中,文件夹结构为

Site/Content/style.css
Site/Scripts/myjsfile.js
Site/Images/filters_expand.jpg
Site/Images/filters_colapse.jpg

然后这就是js文件所在的位置

Site/Views/ProductList/Index.aspx

$("#toggle").click(function() {
    if (left.width() > 0) {
        AnimateNav(left, right, 0);
        $(this).css("background", "url('../Images/filters_expand.jpg')");
    }
    else {
        AnimateNav(left, right, 170);
        $(this).css("background", "url('../Images/filters_collapse.jpg')");
    }
});

我已经尝试过使用'/Images/filters_collapse.jpg',但也不起作用;但是,如果使用,它似乎可以在服务器上工作'../../Images/filters_collapse.jpg'

基本上,我希望具有与ASP.NET tilda-相同的功能~

更新

外部.js文件中的路径是相对于它们所包含的Page的路径,还是.js文件的实际位置?


阅读 262

收藏
2020-05-01

共1个答案

一尘不染

JavaScript文件路径

在脚本中时, 路径相对于显示的页面

为了使事情变得更容易,您可以打印出一个简单的js声明,并在整个脚本中使用此变量:

该解决方案于2010年2月左右在 StackOverflow上 采用:

<script type="text/javascript">
   var imagePath = 'http://sstatic.net/so/img/';
</script>

如果您在2010年左右访问此页面,则只需看一下 StackOverflow的html源 ,您就可以在本<head />节中找到此坏蛋一线[格式化为3行:)]

2020-05-01