代码之家  ›  专栏  ›  技术社区  ›  Matt Sherman

Javascript文件中的代码可以知道自己的域/URL吗

  •  18
  • Matt Sherman  · 技术社区  · 14 年前

    如果我有一个网站example.com,而该网站上的一个页面引用了subdomain.example.com/serveAd.js中的一个Javascript——有没有办法从serveAd.js中知道它自己的URL,或者它是从哪个域下载的?

    (JS当然可以知道调用它的页面的所有信息。我想知道JS是否知道自己的起源。)

    2 回复  |  直到 14 年前
        1
  •  14
  •   laher    14 年前

    如果您使用的是jquery,您可以通过以下方式获得完整的url:

    var fullJsUrl= $('script[src$=serveAd.js]').attr('src');
    

    如果不使用jquery,可能需要做更多的工作,但您可以理解;)

        2
  •  6
  •   gnarf    14 年前

    我很确定,在分析脚本时 <script> DOM中可用的节点将是被解析的节点。

    在外部JS中尝试此操作可以看到:

    var scripts = document.getElementsByTagName('script');
    var lastScript = scripts[scripts.length - 1];
    alert(lastScript.src);