Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-如何检索src="&引用;来自脚本内容的url?_Javascript - Fatal编程技术网

JavaScript-如何检索src="&引用;来自脚本内容的url?

JavaScript-如何检索src="&引用;来自脚本内容的url?,javascript,Javascript,可能重复: 我想访问附加到脚本url的查询变量。例如: <script type="text/javascript" src="http://mysite.com/app.js?var1=value1&var2=value2"></script> 在app.js中,如何访问var1和var2值?获取这些值: <script type="text/javascript" src="scriptaculous.js?load=effect

可能重复:

我想访问附加到脚本url的查询变量。例如:

<script type="text/javascript" src="http://mysite.com/app.js?var1=value1&var2=value2"></script>

在app.js中,如何访问var1和var2值?

获取这些值:

<script type="text/javascript"
        src="scriptaculous.js?load=effects,builder"></script>

还有javascript:

function getJSvars(script_name, var_name, if_empty) {
    var script_elements = document.getElementsByTagName(‘script’);

    if(if_empty == null) {
        var if_empty = ”;
    }

    for (a = 0; a < script_elements.length; a++) {
       var source_string = script_elements[a].src;
           if(source_string.indexOf(script_name)>=0) {

           var_name = var_name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
           var regex_string = new RegExp("[\\?&]"+var_name+"=([^&#]*)");
           var parsed_vars = regex_string.exec(source_string);
           if(parsed_vars == null) { return if_empty; }
           else { return parsed_vars[1]; }

          }
       }
    }
函数getJSvars(脚本名称,变量名称,如果为空){ var script_elements=document.getElementsByTagName('script'); if(if_empty==null){ var if_empty=“; } 对于(a=0;a=0){ 变量名称=变量名称。替换(/[\[]/,“\\\[”)。替换(/[\]]/,“\\\]”); var regex\u string=new RegExp(“[\\?&]”+var\u name+”=([^&\\]*)”; var parsed_vars=regex_string.exec(source_string); if(parsed_vars==null){return if_empty;} else{return parsed_vars[1];} } } }
解析
src
属性,大致如下:

var src=document.getELementById("script-id").getAttribute("src");
var query=src.substring(src.indexOf("?"));
var query_vals=query.split("&");
var queries={};
for (var i=0;i<query_vals.length;i++) {
  var name_val=query_vals.split("=");
  queries[name_val[0]]=name_val[1];
}
console.log(queries.var1, queries.var2);
var src=document.getELementById(“脚本id”).getAttribute(“src”);
var query=src.substring(src.indexOf(“?”);
var query_vals=query.split(“&”);
var查询={};

对于(var i=0;我勾选了这个答案,因为它是一个很容易插入的自包含函数:),我认为这不是一个完全相同的答案。提供的可能的副本只是询问如何在javascript中操作querystring——这个问题特定于script标记。