0

jQueryまたはJavaScriptを使用してst=6をst=7に置き換え、アドレスバーを更新する必要があります。jQueryアドレスプラグインを使用してみましたが、#の後の部分しか交換できません。

#の前のクエリ文字列を更新する方法を提案してください。クエリ文字列を以下に示します。

http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10

URLの変更時にページを更新したくありませんが、アドレスバーのURLを変更する必要があります。

4

4 に答える 4

1

アドレスバーの実際の URL を更新したい場合、これは HTML5 の新機能であり、広くサポートされていません。

例えば:

window.history.pushState(“object or string”, “Title”, “/new-url”);

caniuse.com を見ると、これはすべてのブラウザーの次のメジャー バージョンで予定されているようです。

URL を変更することはできますが、使用するとページがリロードされます。window.location = "http://www.example.com/";

このページの他の正規表現を使用して、リダイレクト先の URL を作成できるはずです。

于 2012-07-05T07:20:35.680 に答える
0

あなたが求めていることは達成できないと思います.現在のURLを実際の銀行のURLに置き換える銀行のログインフォームページを考えてみてください.これは重大なセキュリティ上の問題を引き起こすでしょう.

于 2012-07-05T08:24:01.923 に答える
0

これを試して

var str = 'http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10';
str.replace(/(st\=)\d+&/, "$1" + '7'); // replace '7' with any number you like

それはjQueryではなく、正規表現を介したjavascript(jQueryの構成要素:)であり、あなたのケースでは仕事をするはずです。

于 2012-07-05T07:10:14.197 に答える
0

次のように、正規表現を使用できます。

var addr = 'http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10';
var newVal = 7;

addr.replace(/([?&])st=\d+/, '$1st=' + newVal);
于 2012-07-05T07:13:13.773 に答える