js路径大困惑

      写了那么长时间的js,一直都没留意一个问题:那就是js文件里面的相对路径到底是相对于js文件本身,还是相对于引用了该js文件的html页面(因为平时在开发中js文件和html文件相对于项目的根路径是一模一样的).刚开始我一直坚持认为任何文件的相当路径都是相对于它本身;不过眼前的事实另我非常困惑;好了言归正传,为了说明问题我只简单的把问题的核心部分粘帖上来,不涉及任何复杂的业务逻辑;有兴趣的朋友可以下载我上传的项目,看到效果后(下载并在tomcat中发布后在地址栏输入http://localhost:8080/jstest/js_test/test4.html 回车),就此问题(js文件里面的相对路径到底是相对于js文件本身,还是相对于引用了该js文件的html页面)给小弟提出意见,不胜感谢!

 

项目名字为jstest

 

前台html文件:test4.html(发布后路径为D:\工具\Tomcat-6.0\webapps\jstest\js_test\test4.html)

<script type="text/javascript" src="../scripts/js/001/002/temp.js">
</script>

<form>
<input  type="button" value="提交" onclick="doOnClick()"/>
</form>

 

js文件:temp.jsl(发布后路径为D:\工具\Tomcat-6.0\webapps\jstest\scripts\js\001\002\temp.js)(为了说明问题把路径加多了好几层)

function doOnClick(){
  alert("invoke the doOnClick method");
  window.location.href="../dest.html";
}

 

js文件中要跳转到dest.html页面发布之后的路径为D:\工具\Tomcat-6.0\webapps\jstest\dest.html

 

先说说我的疑惑:temp.js文件中这样写居然能跳转到dest.html去了,也就是说temp.js里面的相对路径其实是相对于引用了它的

test4.html文件的?????

 

期待牛人的答案!!!!!!

 

在这里先顶一顶了!!!

 

 

1个回答

对页面或dom的一切操作是在页面里执行的,只要记住路径相对它的执行环境来说的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问