首页 > 其他 > 详细

获取当前页面参数Hash和Search,或者当前Script的参数

时间:2014-03-19 18:22:57      阅读:464      评论:0      收藏:0      [点我收藏+]

一、获取当前Script附带的参数

1
2
3
4
5
6
7
8
9
10
getScriptArgs: function() { //获取多个参数
            var scripts = document.getElementsByTagName("script"),
                script = scripts[scripts.length - 1], //因为当前dom加载时后面的script标签还未加载,所以最后一个就是当前的script
                src = script.src,
                reg = /(?:\?|&)(.*?)=(.*?)(?=&|$)/g,
                temp, res = {};
            res["src"] = src;
            while ((temp = reg.exec(src)) != null) res[temp[1]] = decodeURIComponent(temp[2]);
            return res;
        }

  

二、根据名字获取Hash值

1
2
3
4
5
6
7
function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.hash.substr(1).match(reg);
    if (r != null)
        return r[2];
    return null;
}

三、应用实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//lastest:
var getArgs = function() { //get url querystring
    var params = document.location.search,
        reg = /(?:^\?|&)(.*?)=(.*?)(?=&|$)/g,
        temp, args = {};
    while ((temp = reg.exec(params)) != null) args[temp[1]] = decodeURIComponent(temp[2]);
    return args;
};
//只取一个:
var queryString = function(key) {
    return (document.location.search.match(new RegExp("(?:^\\?|&)" + key + "=(.*?)(?=&|$)")) || [‘‘, null])[1];
}
var args = getArgs();
alert(args.name + " | " + args.sex + " | " + args.age);
//测试链接:<a href="?name=abc&sex=男&age=12">test getQueryString</a> // JavaScript Document
 
 
 
var getScriptArgs = function() { //获取多个参数
    var scripts = document.getElementsByTagName("script"),
        script = scripts[scripts.length - 1], //因为当前dom加载时后面的script标签还未加载,所以最后一个就是当前的script
        src = script.src,
        reg = /(?:\?|&)(.*?)=(.*?)(?=&|$)/g,
        temp, res = {};
    while ((temp = reg.exec(src)) != null) res[temp[1]] = decodeURIComponent(temp[2]);
    return res;
};
var args = getScriptArgs();
alert(args.a + " | " + args.b + " | " + args.c);
//假如上面的js是在这个js1.js的脚本中<script type="text/javascript" src="js1.js?a=abc&b=汉字&c=123"></script>
 
var getScriptArg = function(key) { //获取单个参数
    var scripts = document.getElementsByTagName("script"),
        script = scripts[scripts.length - 1],
        src = script.src;
    return (src.match(new RegExp("(?:\\?|&)" + key + "=(.*?)(?=&|$)")) || [‘‘, null])[1];
};
alert(getScriptArg("c"));

  

获取当前页面参数Hash和Search,或者当前Script的参数,布布扣,bubuko.com

获取当前页面参数Hash和Search,或者当前Script的参数

原文:http://www.cnblogs.com/gaojianqi/p/3611710.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!