欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

从页面向js传值

程序员文章站 2022-05-03 20:30:24
js代码  $(function() {      //从页面得到参数      var getargs...

js代码 
$(function() { 
    //从页面得到参数 
    var getargs = (function() { 
        var sc = document.getelementsbytagname('script'); 
        var paramsarr = sc[sc.length - 1].src.split('?')[1].split('&'); 
        var args = {}, argsstr = [], param, t, name, value; 
        for ( var i = 0, len = paramsarr.length; i < len; i++) { 
            param = paramsarr[i].split('='); 
            name = param[0], value = param[1]; 
            if (typeof args[name] == "undefined") { // 参数尚不存在 
                args[name] = value; 
            } else if (typeof args[name] == "string") { // 参数已经存在则保存为数组 
                args[name] = [ args[name] ] 
                args[name].push(value); 
            } else { // 已经是数组的 
                args[name].push(value); 
            } 
        } 
        /* 在实际应用中下面的showarg和args.tostring可以删掉,这里只是为了测试函数getargs返回的内容 */ 
        var showarg = function(x) { // 转换不同数据的显示方式 
            if (typeof (x) == "string" && !/\d+/.test(x)) 
                return "'" + x + "'"; // 字符串 
            if (x instanceof array) 
                return "[" + x + "]" // 数组 
            return x; // 数字 
        } 
        // 组装成json格式 
        args.tostring = function() { 
            for ( var i in args) 
                argsstr.push(i + ':' + showarg(args[i])); 
            return '{' + argsstr.join(',') + '}'; 
        } 
        return function() { 
            return args; 
        } // 以json格式返回获取的所有参数 
    })(); 
}); 
 有这个方法就可以从页面上向js传参数了
 
html代码 
<script src="../example.js?id=1" type="text/javascript"></script> 
 例如在页面里有引用example.js并传参等于1的id,那么我们在example.js里用getargs()[id] 就能得到id的值

作者“fresh-daily”