个人比较喜欢的JS网页跳转传值

来源:互联网 发布:burpsuite修改数据 编辑:程序博客网 时间:2024/06/01 08:10

首先,在未跳转的网页里写下:

function JumpToRoute() {
        window.location.href = "route?originalHTML=1";
    }


这里的route是我的aspx的文档名字,可以替换成自己需要的任意网页的名字,比如:111.html。

后面那个originHTML就是变量名称了,这个随你喜欢,比如:pig=1。 这个“=1”是个赋值,数值随便。

然后找个地方引用这个方法就可以了,方法名称也是随便你起。



接着我们在那个准备要跳过去的网页里插入下面的内容(直接复制就行了):

 //传入参数判断
    UrlParm = function () { // url参数    
        var data, index;
        (function init() {
            data = [];
            index = {};
            var u = window.location.search.substr(1);
            if (u != '') {
                var parms = decodeURIComponent(u).split('&');
                for (var i = 0, len = parms.length; i < len; i++) {
                    if (parms[i] != '') {
                        var p = parms[i].split("=");
                        if (p.length == 1 || (p.length == 2 && p[1] == '')) {// p | p=    
                            data.push(['']);
                            index[p[0]] = data.length - 1;
                        } else if (typeof (p[0]) == 'undefined' || p[0] == '') { // =c | =    
                            data[0] = [p[1]];
                        } else if (typeof (index[p[0]]) == 'undefined') { // c=aaa    
                            data.push([p[1]]);
                            index[p[0]] = data.length - 1;
                        } else {// c=aaa    
                            data[index[p[0]]].push(p[1]);
                        }
                    }
                }
            }
        })();
        return {
            // 获得参数,类似request.getParameter()    
            parm: function (o) { // o: 参数名或者参数次序    
                try {
                    return (typeof (o) == 'number' ? data[o][0] : data[index[o]][0]);
                } catch (e) {
                }
            },
            //获得参数组, 类似request.getParameterValues()    
            parmValues: function (o) { //  o: 参数名或者参数次序    
                try {
                    return (typeof (o) == 'number' ? data[o] : data[index[o]]);
                } catch (e) { }
            },
            //是否含有parmName参数    
            hasParm: function (parmName) {
                return typeof (parmName) == 'string' ? typeof (index[parmName]) != 'undefined' : false;
            },
            // 获得参数Map ,类似request.getParameterMap()    
            parmMap: function () {
                var map = {};
                try {
                    for (var p in index) { map[p] = data[index[p]]; }
                } catch (e) { }
                return map;
            }
        }
    }();

然后随便建一个变量,如下获得传过来的值:

var x;

x = UrlParm.parm("originalHTML");

括号里的东西和上面传过来的问号后面的名称必须一样。

这样,我们alert(x)就可以输出1了。

也就是我们很简单地就把变量给传过来用了。

如果想要传多个变量的话,只需要在最上面用&符号将变量名称隔开。

如:

// URL是 http://127.0.0.1/demo.jsp?a&page=2&b=dd&c=123&b=dd2

UrlParm.parm(0)         // 结果:  ""; 

UrlParm.parm('a')       // 结果:  ""; 

UrlParm.parm('page')    // 结果:  "2"; 

UrlParm.parm(1)         // 结果:  "2"; 

UrlParm.parm("b")       // 结果:  "dd"; 

UrlParm.parmValues("b"// 结果:  ["dd","dd2"]; 

UrlParm.hasParm("b")    // 结果:  true; 

UrlParm.hasParm("x")    // 结果:  false; 

UrlParm.parmMap()       // 结果:  {a:[""],page:[2],b:["dd","dd2"],c:["123"]}; 


0 0
原创粉丝点击