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

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

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

//分析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;
            }
        }
        //原來(lái)沒(méi)有的參數(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判斷某個(gè)方法是否存在實(shí)例代碼

    js判斷某個(gè)方法是否存在實(shí)例代碼

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

    javascript鼠標(biāo)右鍵菜單自定義效果

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

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

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

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

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

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

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

    Javascript編寫2048小游戲

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

    一文教會(huì)你從零開(kāi)始畫echarts地圖

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

    JS如何根據(jù)條件取出數(shù)組中對(duì)應(yīng)項(xiàng)

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

    JavaScript實(shí)現(xiàn)打開(kāi)鏈接頁(yè)面的方式匯總

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

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

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

最新評(píng)論

桦甸市| 沂水县| 都昌县| 西盟| 西昌市| 库车县| 云阳县| 博野县| 确山县| 卓资县| 肃南| 枞阳县| 巴里| 河间市| 明水县| 华安县| 嘉峪关市| 石台县| 乌什县| 威海市| 五家渠市| 荣成市| 三河市| 壶关县| 资中县| 长春市| 中江县| 黑水县| 郯城县| 嘉荫县| 南江县| 松原市| 玛纳斯县| 东宁县| 田阳县| 北碚区| 阿城市| 理塘县| 宾川县| 青川县| 阿荣旗|