代码之家  ›  专栏  ›  技术社区  ›  Vikrant Chaudhary

如何获取.js文件本身的uri

  •  4
  • Vikrant Chaudhary  · 技术社区  · 16 年前

    JavaScript中有没有一个方法可以用来找出执行脚本的路径/uri。

    例如:

    1. index.html 包括一个JavaScript文件 stuff.js 从那以后呢 材料.js 文件依赖于 ./commons.js ,它也想在页面中包含它。问题是 材料.js 公共资源.js

    2. 索引.html 包括 材料.js 文件为 <script src="http://example.net/js/stuff.js?key=value" /> 材料.js 文件要读取的值 key . 如何?

    更新

    3 回复  |  直到 16 年前
        1
  •  5
  •   Sean Kinsey    16 年前

    这将为您提供当前脚本的完整路径(如果按请求加载,则可能无法工作等)

    var scripts = document.getElementsByTagName("script");
    var thisScript = scripts[scripts.length-1];
    var thisScriptsSrc = thisScript.src;
    
        2
  •  3
  •   Pointy    16 年前

    var scripts = document.getElementsByTagName('script');
    

    然后它可以查看“src”属性作为它的名称。不过,对我来说,这是一种黑客行为,你应该在服务器端解决这个问题。

        3
  •  1
  •   Sean Patrick Floyd    16 年前

    script.aculo.us ( source )解决了类似的问题。这是相关代码

    var js = /scriptaculous\.js(\?.*)?$/;
    $$('script[src]').findAll(function(s) {
        return s.src.match(js);
    }).each(function(s) {
        var path = s.src.replace(js, ''),
        includes = s.src.match(/\?.*load=([a-z,]*)/);
        (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
        function(include) { Scriptaculous.require(path+include+'.js') });
        });