国产探花免费观看_亚洲丰满少妇自慰呻吟_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());

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高青县| 宁化县| 鄂尔多斯市| 龙胜| 东安县| 南皮县| 南江县| 名山县| 黄梅县| 旅游| 中江县| 黑山县| 呼图壁县| 万州区| 南木林县| 南郑县| 保亭| 阿克陶县| 浮梁县| 永嘉县| 苍南县| 双城市| 灌云县| 额尔古纳市| 九龙县| 临桂县| 双牌县| 班戈县| 榆社县| 定安县| 灵石县| 齐齐哈尔市| 曲靖市| 邯郸县| 安福县| 东宁县| 海晏县| 黄冈市| 五寨县| 胶南市| 元谋县|