2009-10-26 9 views

答えて

2
(function(){ 

    var url = 'http://mydomain.com/?q=microsoft&p=next' 
    var s = url.search.substring(1).split('&'); 

    if(!s.length) return; 

    window.GET = {}; 

    for(var i = 0; i < s.length; i++) { 

     var parts = s[i].split('='); 

     GET[unescape(parts[0])] = unescape(parts[1]); 

    } 

}()) 

は、これが機能すると思います。..

+2

'decodeURIComponent'です。 'エスケープ'/'エスケープ'は、ほとんど常に間違いです。 – bobince

+0

また、これはurlが文字列である場合は機能しません。メソッド検索を使用するので、urlはwindow.locationである必要があります。これらの2つの問題は別として、うまく動作していると思われ、ライブラリをこのタスクにインポートすることは確かに過度な作業です。 – fotanus

5

を私はここにparseUriライブラリが利用可能に使用します。 http://stevenlevithan.com/demo/parseuri/js/

それはあなたがすることができますまさにあなたが求めているもの:

var uri = 'http://mydomain.com/?q=microsoft&p=next'; 
var q = uri.queryKey['q']; 
// q = 'microsoft' 
関連する問題