JQUERY獲取當前頁面的URL信息


最主要就是獲取當前URL的詳細信息,就可以進行判斷了,這就需要用到JQUERY獲取URL的函數。這里與大家分享一下,沒用過這種方法的朋友可以嘗試一下。

一、window.location

屬性 描述
hash 設置或獲取 href 屬性中在井號“#”后面的分段。
host 設置或獲取 location 或 URL 的 hostname 和 port 號碼。
hostname 設置或獲取 location 或 URL 的主機名稱部分。
href 設置或獲取整個 URL 為字符串。
pathname 設置或獲取對象指定的文件名或路徑。
port 設置或獲取與 URL 關聯的端口號碼。
protocol 設置或獲取 URL 的協議部分。
search 設置或獲取 href 屬性中跟在問號后面的部分。

二、案例

比如url為: http://www.xxx.loc/admin/write-post.php?cid=79

(function($){
    function getUrlParam(name){
        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //構造一個含有目標參數的正則表達式對象
        var r = window.location.search.substr(1).match(reg);  //匹配目標參數
        if (r!=null) return unescape(r[2]); return null; //返回參數值
    } 
})(jQuery);

調用:   $.getUrlParam('cid');

三、JQuery遍歷修改url的請求參數

功能描述:

根據客戶選擇下拉框,同步中部分超鏈的請求傳遞參數與下拉框中的值相等。代碼中用到JQuery的cookie插件:

頁面部分:

假設頁面有一個用於標識狀態的select

<select id="type">
    <option value="sms">短信</option>
    <option value="mms">彩信</option>
    ......
</select>

並且有一些需要同步的鏈接,為了方便JQuery查找遍歷這些鏈接,所以為他們統一命名為nav。

同時將訪問鏈接的個性化部分記錄在class中方便JQuery讀取生成新的url。如下:

<a name="nav" href="#" class="action1.do">urlName1</a>
<a name="nav" href="#" class="action2.do">urlName2</a>
......
<a name="nav" href="#" class="action9.do">urlName9</a>

JS腳本部分:

$(document).ready(function(){
    //在客戶第一次使用沒有cookie記錄時,設置默認值
    if($.cookie('_type')== null) $.cookie('_type', 'sms');
    updateUrl();
    //將cookie的值與select的默認選擇項同步,並添加onChange事件
    $("#type").val($.cookie('_type')).change(function(){
        $.cookie('_type', $(this).val());   //將選擇的值存入cookie中
        updateUrl();       //更新url
    });
});
////遍歷所有name為nav的連接
var updateUrl= function(){
    $("a[name='nav']").each(function(){
        this.href = '/' + $(this).attr("class") + '.do?type'=' + $.cookie('_type');
    });
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM