国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js獲取url參數代碼實例分享(JS操作URL)

2019-11-20 21:28:23
字體:
來源:轉載
供稿:網友

代碼很簡單,主要一個思路是把url參數解析為js對象,再做增、刪、改、查操作就很方便了~,這里做筆記。

復制代碼 代碼如下:

var LG=(function(lg){
    var objURL=function(url){
        this.ourl=url||window.location.href;
        this.href="";//?前面部分
        this.params={};//url參數對象
        this.jing="";//#及后面部分
        this.init();
    }
    //分析url,得到?前面存入this.href,參數解析為this.params對象,#號及后面存入this.jing
    objURL.prototype.init=function(){
        var str=this.ourl;
        var index=str.indexOf("#");
        if(index>0){
            this.jing=str.substr(index);
            str=str.substring(0,index);
        }
        index=str.indexOf("?");
        if(index>0){
            this.href=str.substring(0,index);
            str=str.substr(index+1);
            var parts=str.split("&");
            for(var i=0;i<parts.length;i++){
                var kv=parts[0].split("=");
                this.params[kv[0]]=kv[1];
            }
        }
        else{
            this.href=this.ourl;
            this.params={};
        }
    }
    //只是修改this.params
    objURL.prototype.set=function(key,val){
        this.params[key]=val;
    }
    //只是設置this.params
    objURL.prototype.remove=function(key){
        this.params[key]=undefined;
    }
    //根據三部分組成操作后的url
    objURL.prototype.url=function(){
        var strurl=this.href;
        var objps=[];//這里用數組組織,再做join操作
        for(var k in this.params){
            if(this.params[k]){
                objps.push(k+"="+this.params[k]);
            }
        }
        if(objps.length>0){
            strurl+="?"+objps.join("&");
        }
        if(this.jing.length>0){
            strurl+=this.jing;
        }
        return strurl;
    }
    //得到參數值
    objURL.prototype.get=function(key){
        return this.params[key];
    }   
    lg.URL=objURL;
    return lg;
}(LG||{}));

LG只是我個人共同JS的名稱空間,無他。調用:

復制代碼 代碼如下:

var myurl=new LG.URL("http://www.baidu.com?a=1");

    myurl.set("b","hello"); //添加了b=hello
    alert (myurl.url());

    myurl.remove("b"); //刪除了b

    alert(myurl.get ("a"));//取參數a的值,這里得到1

    myurl.set("a",23); //修改a的值為23

    alert (myurl.url());

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郎溪县| 锡林浩特市| 安国市| 民县| 福安市| 阳江市| 邵阳县| 和静县| 绥化市| 房产| 中方县| 奉节县| 眉山市| 施秉县| 皮山县| 登封市| 宁海县| 股票| 青海省| 平舆县| 潼南县| 牙克石市| 桑日县| 通城县| 武安市| 阳原县| 镇远县| 德江县| 双桥区| 彝良县| 江阴市| 含山县| 玉山县| 南川市| 灌南县| 林西县| 临澧县| 呼玛县| 邵阳市| 青海省| 龙井市|