Pages

系列文章

2015/01/28

【JQuery應用】用JQuery獲取url及獲取url所帶參數



有時候我們會需要透過連結傳遞一些非敏感性資料的參數
一般來說這時候我們都是透過後端程式(如PHP/ASP..等)
但是有的時候我們只是需要將傳遞過來的參數在Client端做處理
這時候我們就可以用JQuery來做獲取網址所傳遞的參數資料了
操作前注意事項
此網址是我自己編的實際上去查是找不到資料的喔
此範例操作網址 : https://www.google.com.tw/webhp?q=JQuery

獲取完整網址

以此例來說最後的結果會是
「https://www.google.com.tw/webhp?q=JQuery」
//獲取當前視窗的完整網址
alert(window.location.href);
修正訊息(2015/02/13修正)
原本說使用「window.location」其實只可以取得到網站的host網址
如果要取得包含參數的網址訊息要用「window.location.href」

獲取網址參數

這一個範例中比較不容易理解的,就只有「正規表達式」的部分
不過沒關係因為我也不太懂,抄就對了(我也是抄來的~)

以此例來說最後的結果是
「JQuery」
//匿名涵式
(function ($) {
  $.UrlParam = function (name) {
    //宣告正規表達式
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    /*
     * window.location.search 獲取URL ?之後的參數(包含問號)
     * substr(1) 獲取第一個字以後的字串(就是去除掉?號)
     * match(reg) 用正規表達式檢查是否符合要查詢的參數
    */
    var r = window.location.search.substr(1).match(reg);
    //如果取出的參數存在則取出參數的值否則回穿null
    if (r != null) return unescape(r[2]); return null;
  }
})(jQuery);
/*
 *UrlParam取得網址參數需帶入參數名稱
 *UrlParam(參數名稱)
 */
var param = $.UrlParam("q");
alert(param);

以上就是今天的教學,因為註解都標示在程式中了
所以這段程式碼也不算困難所以就不再做太多的說明

2 則留言:

  1. 請問要怎麼把blogger設定成這樣啊= ="為什麼我的部落格打文章內容會全部顯示啊...像這樣http://a981406015.blogspot.tw/

    回覆刪除
    回覆
    1. 你是指繼續閱讀的功能嗎?
      你可以再發新文章的時候用

      就會自動幫你把More之後的內容屏蔽
      而且會自動出現繼續閱讀的按鈕了阿

      刪除