js urlアドレス、アンカー、パラメータの取得

2766 ワード

(1)window.location.href
window.location.href=「www.hao 123.com」は、完全なurlを表し、ページが新しいページにジャンプします.window.location.hrefでaラベルの完全なhrefを得ることもできます.例えば、 hrefを使用すると、完全なリンク(www.baidu.com)が得られます.
(2)window.location.hash
得られたのはアンカーリンクです.hrefのようにwindow.location.hashでは新しいリンクにジャンプすることはなく、現在のリンクの中でアンカーチェーンを変更するだけです.window.location.hashでは完全なリンク(URL)が得られない場合は、#bookのみが得られます.
Windows.location.hashを使用して、ユーザーが現在位置しているアンカー位置を取得できます.たとえば、var maodianID = window.location.hash;では、リンクの後ろのアンカーをmaodianIDに割り当てます.
(3)urlパラメータを取得し,4つのメソッドJSはURL中のパラメータ値(QueryString)の4つのメソッドを取得し,必要に応じて対応するメソッドを用いる.
   :   

function getQueryString(name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return unescape(r[2]);
    }
    return null;
}
//     :
alert(GetQueryString("   1"));

alert(GetQueryString("   2"));

alert(GetQueryString("   3"));

方法2:split分割法
function GetRequest() {
    var url = location.search; //  url "?"     
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}
var Request = new Object();
Request = GetRequest();
// var   1,  2,  3,  N;
//   1 = Request['  1'];
//   2 = Request['  2'];
//   3 = Request['  3'];
//   N = Request['  N'];

方法3:また正則を見る
JSでurlパラメータを取得すると、これはよく使われます.例えばurl:http://wwww.baidu.com/?q=jsパラメータqの値を求めたいのですが、以下の関数で呼び出せばいいです.
function GetQueryString(name) {  
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");  
    var r = window.location.search.substr(1).match(reg);  //  url "?"           
    var context = "";  
    if (r != null)  
         context = r[2];  
    reg = null;  
    r = null;  
    return context == null || context == "" || context == "undefined" ? "" : context;  
}
alert(GetQueryString("q"));

 

方法4:単一パラメータの取得方法
function GetRequest() {
   var url = location.search; //  url "?"     
   if (url.indexOf("?") != -1) {    //       
      var str = url.substr(1); //            0  ?              
      strs = str.split("=");   //        (                                &            )
      alert(strs[1]);          //          (               )
   }
}