外部文件中Javascript的相对路径

 2023-02-17    351  

问题描述

因此,我正在运行此JavaScript,并且一切正常,除了通往背景图像的路径.它可以在我的本地ASP.NET开发环境上工作,但是在虚拟目录中部署到服务器时不起作用.

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

外部文件中Javascript的相对路径

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文件中相对于其中包含的页面或.js文件的实际位置的路径?

推荐答案

JavaScript文件路径

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

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

解决方案,该解决方案在2010年2月左右在 stackoverflow上使用:

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

如果您在2010年左右访问此页面,则可以查看 Stackoverflow的HTML源,您可以在<head />中找到此糟糕的单线[格式为3行:)]

其他推荐答案

通过在运行时间使用jQuery来获取JavaScript文件的位置,通过解析引用它的” SRC”属性的DOM:

var jsFileLocation = $('script[src*=example]').attr('src');  // the js file path
jsFileLocation = jsFileLocation.replace('example.js', '');   // the js folder path

(假设您的JavaScript文件称为” example.js’)

其他推荐答案

正确的解决方案是使用CSS类,而不是在JS文件中编写SRC.
例如,而不是使用:

$(this).css("background", "url('../Images/filters_collapse.jpg')");

使用:

$(this).addClass("xxx");

和在页面中加载的CSS文件中写:

.xxx {
  background-image:url('../Images/filters_collapse.jpg');
}

以上所述是小编给大家介绍的外部文件中Javascript的相对路径,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34265.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。