2016-03-31 21 views
3

私のウェブサイトのブログページで、そのページのURLにクエリ文字列が追加されました。 URLからクエリ文字列を削除したかったのです。だから私はjqueryと一緒に行くと私は書いて、私のスクリプトに追加していました。クエリ文字列は削除されますが、nページ目までページを更新することができます。私は "1つの" jqueryメソッドを使用していました。それも機能しません。jquery(問題あり)を使用してURLからクエリ文字列を削除

あなたは私を助けることができる

私のスクリプトが

jQuery(document).one('ready',function(){ 
    window.location.href = window.location.href.split('?')[0]; 
}); 
+1

あなたは 'window.location.href'が' 'があれば最初にチェックする必要があります。 –

+0

'.indexOf()'を使ってチェックします。 –

答えて

2

window.location.hrefに値を設定すると、ページをリロードします。これを試してみてください:?

var url = window.location.href; 
    var a = url.indexOf("?"); 
    var b = url.substring(a); 
    var c = url.replace(b,""); 
    url = c; 
2

では、n番目の時間件までページを更新し続けます。

これは、URLにクエリ文字列があるかどうかをチェックしていないためです。だからそれは無限のリフレッシュです。

あなたがこの試すことができます:

$(document).ready(function(){ 
    if (window.location.href.indexOf('?') > -1) { 
     window.location.href = window.location.pathname; 
    } 
}); 

編集1:は、ページを更新せずにクエリ文字列を削除することが可能ですか?

あなたはこれを試すことができます。

$(document).ready(function(){ 
    if (window.location.href.indexOf('?') > -1) { 
     history.pushState('', document.title, window.location.pathname); 
    } 
}); 
+0

ありがとうございます。はい、それは働いています。しかし、それは一度爽やかになる。ページリフレッシュなしでクエリ文字列を削除することは可能ですか? –

+0

@BhavanKumarNatarajan私の編集をチェックしてください。 – Beginner

+0

ありがとうございました。 – maverickosama92

3
var uri = window.location.href.toString(); 
if (uri.indexOf("?") > 0) { 
    var clean_uri = uri.substring(0, uri.indexOf("?")); 
    window.history.replaceState({}, document.title, clean_uri); 
} 
+0

答えを改善して、すべてのユーザーに役立つように説明文とコードを入れればいいです –

関連する問題