因此,我正在运行此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'。
'/Images/filters_collapse.jpg'
'../../Images/filters_collapse.jpg'
基本上,我希望具有与ASP.NET tilda-相同的功能~。
~
更新
外部.js文件中的路径是相对于它们所包含的Page的位置,还是.js文件的实际位置?
在脚本中时, 路径相对于显示的页面
为了使事情变得更容易,您可以打印出一个简单的js声明,并在整个脚本中使用此变量:
该解决方案于2010年2月左右在 StackOverflow上 采用:
<script type="text/javascript"> var imagePath = 'http://sstatic.net/so/img/'; </script>
如果您在2010年左右访问此页面,则只需看一下 StackOverflow的html源 ,您就可以在本<head />节中找到此坏蛋一排[格式为3行:)]
<head />