【问题标题】:Extract external javascript query string/anchor value: file.js#foo=bar提取外部 javascript 查询字符串/锚值:file.js#foo=bar
【发布时间】:2010-04-20 16:02:43
【问题描述】:

http://mycloud.net/js/file.js#foo=bar

我正在尝试加载一个跨域 javascript 文件,并希望在查询字符串中传递一个变量。我已经看到使用了上面的“#”方法,但不确定如何从 file.js 中提取“foo”值。任何线索如何在没有服务器端帮助的情况下处理这个问题?

谢谢。

【问题讨论】:

    标签: javascript query-string cross-domain anchor extract


    【解决方案1】:

    嗯,其实有办法获取当前script,例如:

    // external script
    (function () {
      var scripts = document.getElementsByTagName('script'),
          currentScript = scripts[scripts.length - 1],
          scriptUrl = currentScript;
    
      alert("scriptUrl: " + scriptUrl);
    })();
    

    上述方法有效,因为在执行 script 元素时,是 DOM 的最后一个 script 元素 (scripts[scripts.length - 1])。

    那么您只需对scriptUrl 进行字符串操作即可提取GET 参数。

    查看示例here,外部脚本为here

    【讨论】:

      【解决方案2】:

      脚本获取书签中值的唯一方法是在文档中找到它的script 标记,然后从scr 属性中提取它。

      URL 的书签部分没有在请求中一起发送,因此您也无法使用服务器端代码来获取它。

      【讨论】:

        猜你喜欢
        • 2020-02-02
        • 2017-07-25
        • 2016-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-15
        相关资源
        最近更新 更多