获得js文件位置

不要说用location.href,那是文档的路径。
从script中去匹配?那又如何获知你现在的js的文件名?手工填?那样兼容性太差。
当js中调用另外一个js的时候,一般来说,知道肯定是两个js之间的相对位置关系,而不会是另外那个js和文档的位置关系,因此要调用必须要知道js的自身路径。
其实有个很简单的方法,document没载入完也可以使用elementsByTagName,但是那时的文档的是不完整,有多不完整?对!就是不完整到只有到引用的那个script为止。下面的都尚未载入。于是只要找到script的最后一个的src就是调用js的时候使用的地址。并且浏览器很乖地把这个相对地址转换成绝对地址返回来。



贴代码。
function baseUrl(){
    var scriptSrc = document.getElementsByTagName('script')[document.getElementsByTagName('script').length -1].src;
    var jsName = scriptSrc.split('/')[scriptSrc.split('/').length-1];
    return scriptSrc.replace(jsName,'');
}



原文地址:http://blog.sina.com.cn/s/blog_715fa5c00100pwrj.html


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值