最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用javascript替換URL中的參數(shù)值示例代碼

 更新時間:2014年01月27日 10:18:19   作者:  
本篇文章主要是對用javascript替換URL中的參數(shù)值示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
今天遇到一個需要用javascript將url中的某些參數(shù)替換的需求,想起了不久前從網(wǎng)上淘到了一個parseUrl函數(shù),正好可以借此實現(xiàn),代碼整理如下:
復制代碼 代碼如下:

//分析url
function parseURL(url) {
    var a = document.createElement('a');
    a.href = url;
    return {
        source: url,
        protocol: a.protocol.replace(':', ''),
        host: a.hostname,
        port: a.port,
        query: a.search,
        params: (function () {
            var ret = {},
            seg = a.search.replace(/^\?/, '').split('&'),
            len = seg.length, i = 0, s;
            for (; i < len; i++) {
                if (!seg[i]) { continue; }
                s = seg[i].split('=');
                ret[s[0]] = s[1];
            }
            return ret;

        })(),
        file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
        hash: a.hash.replace('#', ''),
        path: a.pathname.replace(/^([^\/])/, '/$1'),
        relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
        segments: a.pathname.replace(/^\//, '').split('/')
    };
}

//替換myUrl中的同名參數(shù)值
function replaceUrlParams(myUrl, newParams) {
    /*
    for (var x in myUrl.params) {
        for (var y in newParams) {
            if (x.toLowerCase() == y.toLowerCase()) {
                myUrl.params[x] = newParams[y];
            }
        }
    }
    */

    for (var x in newParams) {
        var hasInMyUrlParams = false;
        for (var y in myUrl.params) {
            if (x.toLowerCase() == y.toLowerCase()) {
                myUrl.params[y] = newParams[x];
                hasInMyUrlParams = true;
                break;
            }
        }
        //原來沒有的參數(shù)則追加
        if (!hasInMyUrlParams) {
            myUrl.params[x] = newParams[x];
        }
    }
    var _result = myUrl.protocol + "://" + myUrl.host + ":" + myUrl.port + myUrl.path + "?";

    for (var p in myUrl.params) {
        _result += (p + "=" + myUrl.params[p] + "&");
    }

    if (_result.substr(_result.length - 1) == "&") {
        _result = _result.substr(0, _result.length - 1);
    }

    if (myUrl.hash != "") {
        _result += "#" + myUrl.hash;
    }
    return _result;
}

//輔助輸出
function w(str) {
    document.write(str + "<BR>");
}

var myURL = parseURL('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
w("myUrl.file = " + myURL.file)     // = 'index.html' 
w("myUrl.hash = " + myURL.hash)     // = 'top'  
w("myUrl.host = " + myURL.host)     // = 'abc.com'
w("myUrl.query = " + myURL.query)    // = '?id=255&m=hello'
w("myUrl.params = " + myURL.params)   // = Object = { id: 255, m: hello }  
w("myUrl.path = " + myURL.path)     // = '/dir/index.html'  
w("myUrl.segments = " + myURL.segments) // = Array = ['dir', 'index.html']
w("myUrl.port = " + myURL.port)     // = '8080'  
w("myUrl.protocol = " + myURL.protocol) // = 'http'  
w("myUrl.source = " + myURL.source)   // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'

var _newUrl = replaceUrlParams(myURL, { id: 101, m: "World", page: 1,"page":2 });

w("<BR>新url為:")
w(_newUrl); //http://abc.com:8080/dir/index.html?id=101&m=World&page=2#top   

相關(guān)文章

  • js判斷某個方法是否存在實例代碼

    js判斷某個方法是否存在實例代碼

    這篇文章主要介紹了js判斷某個方法是否存在的實例代碼,可用于檢測js中的方法是否可用,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • javascript鼠標右鍵菜單自定義效果

    javascript鼠標右鍵菜單自定義效果

    設(shè)計專屬于自己的右鍵菜單,添加自己需要的快捷方式,本文就為大家分享自定義javascript鼠標右鍵菜單的實現(xiàn)方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JS前端知識點總結(jié)之頁面加載事件,數(shù)組操作,DOM節(jié)點操作,循環(huán)和分支

    JS前端知識點總結(jié)之頁面加載事件,數(shù)組操作,DOM節(jié)點操作,循環(huán)和分支

    這篇文章主要介紹了JS前端知識點總結(jié)之頁面加載事件,數(shù)組操作,DOM節(jié)點操作,循環(huán)和分支,結(jié)合實例形式總結(jié)分析了JS頁面加載事件,數(shù)組操作,DOM節(jié)點操作,循環(huán)和分支所涉及的相關(guān)事件、函數(shù)及操作注意事項,需要的朋友可以參考下
    2019-07-07
  • js實現(xiàn)輪播圖特效

    js實現(xiàn)輪播圖特效

    這篇文章主要為大家詳細介紹了js實現(xiàn)輪播圖特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • javascript中定義變量const和var有什么區(qū)別詳解

    javascript中定義變量const和var有什么區(qū)別詳解

    這篇文章主要給大家介紹了關(guān)于javascript中定義變量const和var有什么區(qū)別的相關(guān)資料,在JavaScript中var和const都是用于聲明變量的關(guān)鍵字,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • Javascript編寫2048小游戲

    Javascript編寫2048小游戲

    本文給大家介紹的是去年很火的一款小游戲--2048用javascript實現(xiàn)的思路以及代碼,有需要的小伙伴可以參考下。
    2015-07-07
  • 一文教會你從零開始畫echarts地圖

    一文教會你從零開始畫echarts地圖

    ECharts是一個使用JavaScript實現(xiàn)的開源可視化庫,涵蓋各行業(yè)圖表,滿足各種需求,下面這篇文章主要給大家介紹了如何從零開始畫echarts地圖的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • JS如何根據(jù)條件取出數(shù)組中對應項

    JS如何根據(jù)條件取出數(shù)組中對應項

    這篇文章主要介紹了JS根據(jù)條件取出數(shù)組中對應項,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • JavaScript實現(xiàn)打開鏈接頁面的方式匯總

    JavaScript實現(xiàn)打開鏈接頁面的方式匯總

    這篇文章主要介紹了JavaScript實現(xiàn)打開鏈接頁面的方式,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • 優(yōu)化javascript的執(zhí)行速度

    優(yōu)化javascript的執(zhí)行速度

    這個是我在網(wǎng)上找的資料,具體的出處,我已經(jīng)記不清楚了,覺得很不錯,就和大家分享了
    2010-01-01

最新評論

嘉定区| 玛曲县| 榕江县| 江川县| 安化县| 洛南县| 清苑县| 东至县| 涿州市| 若尔盖县| 塔城市| 闽清县| 余庆县| 乌兰县| 长宁县| 资中县| 方城县| 安顺市| 手机| 瑞安市| 灵山县| 浦江县| 松江区| 吴旗县| 镇安县| 清丰县| 河北省| 凤庆县| 汶川县| 奉新县| 青铜峡市| 阜阳市| 太原市| 金塔县| 余姚市| 姚安县| 富宁县| 吴堡县| 敦化市| 临洮县| 满洲里市|