zoukankan      html  css  js  c++  java
  • 获取当前页面参数Hash和Search,或者当前Script的参数

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

    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值

    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;
    }
    

    三、应用实例

    //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"));
    

      

    缘来天注定,缘去人自夺。种如是因,收如是果,一切唯心造。笑言面对,不去埋怨。悠然、随心、随性、随缘。
  • 相关阅读:
    Pytest --快速入门和基础讲解
    Python并发编程(一):多进程(理论篇)
    【面试出题】三数之和
    python 基础:迭代器、生成器
    python垃圾回收机制
    50道Python面试题集锦
    Web自动化测试框架改进
    linux 三剑客
    函数的参数
    生成器
  • 原文地址:https://www.cnblogs.com/gaojianqi/p/3611710.html
Copyright © 2011-2022 走看看