首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >外部文件中Javascript中的相对路径

外部文件中Javascript中的相对路径
EN

Stack Overflow用户
提问于 2010-02-03 06:26:27
回答 10查看 316.6K关注 0票数 89

所以我运行了这个javascript,除了背景图像的路径之外,一切都运行得很好。它可以在我本地的ASP.NET开发环境中工作,但在部署到虚拟目录中的服务器时不能工作。

这是在一个外部.js文件中,文件夹结构是

代码语言:javascript
复制
Site/Content/style.css
Site/Scripts/myjsfile.js
Site/Images/filters_expand.jpg
Site/Images/filters_colapse.jpg

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

代码语言:javascript
复制
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文件的实际位置?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2010-02-03 07:16:42

JavaScript文件路径

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

为了简单起见,您可以打印出一个简单的js声明,如下图所示,并在所有脚本中使用此变量:

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

代码语言:javascript
复制
<script type="text/javascript">
   var imagePath = 'http://sstatic.net/so/img/';
</script>

如果您在2010年左右访问此页面,您可以只查看StackOverflow的html源,您可以在<head />部分找到格式化为3行:)的这行代码

票数 140
EN

Stack Overflow用户

发布于 2010-12-14 23:18:02

在运行时使用jQuery解析DOM以获取引用它的'src‘属性,从而获得javascript文件的位置:

代码语言:javascript
复制
var jsFileLocation = $('script[src*=example]').attr('src');  // the js file path
jsFileLocation = jsFileLocation.replace('example.js', '');   // the js folder path

(假设您的javascript文件名为'example.js')

票数 48
EN

Stack Overflow用户

发布于 2012-03-17 16:33:23

正确的解决方案是使用css类,而不是在js文件中编写src。例如,不使用:

代码语言:javascript
复制
$(this).css("background", "url('../Images/filters_collapse.jpg')");

使用:

代码语言:javascript
复制
$(this).addClass("xxx");

并在页面中加载的css文件中写道:

代码语言:javascript
复制
.xxx {
  background-image:url('../Images/filters_collapse.jpg');
}
票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2188218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档