1. ホーム
  2. javascript

ページを再読み込みせずに、javascript/jQueryを使ってURLやクエリ文字列を更新するにはどうすればよいですか?

2023-08-27 21:41:36

質問

ページを再読み込みすることなく、プログラムによってURLを更新する方法はありますか?

EDIT:私はポスト.Iのタイトルに何かを追加しました私はページを再読み込みしたくないことを明確にしたい

どのように解決するのですか?

はい document.location = "http://my.new.url.com"

また、同じ方法で取得することもできます。

var myURL = document.location;
document.location = myURL + "?a=parameter";

ロケーション・オブジェクトは多くの便利なプロパティも持っています。

hash            Returns the anchor portion of a URL
host            Returns the hostname and port of a URL
hostname        Returns the hostname of a URL
href            Returns the entire URL
pathname        Returns the path name of a URL
port            Returns the port number the server uses for a URL
protocol        Returns the protocol of a URL
search          Returns the query portion of a URL

EDITです。 document.locationのハッシュを設定してもページは再読み込みされず、ページ上のどこにフォーカスがあるかだけが変更されるはずです。だから、更新して #myId に更新すると id="myId" . もし id が存在しない場合、私は何も起こらないと思っています。(様々なブラウザで確認する必要があります。)

EDIT2です。 コメントに限らず、わかりやすくするために。 ページを変更せずに、URL全体をjavascriptで更新することはできません。これはセキュリティ上の制限です。さもなければ、gmailのように細工されたランダムなページへのリンクをクリックし、瞬時にURLを www.gmail.com に変更し、人々のログイン情報を盗むことができます。

AJAXスタイルに対応するために、ブラウザによってはドメインの後の部分を変更することができますが、それはすでにOsirisによってリンクされています。さらに言えば、たとえできたとしても、おそらくこれをするべきではないでしょう。 URLは、ユーザーがあなたのサイトのどこにいるのかを示すものです。ページの内容を変えずにURLを変更すると、ちょっと混乱しますよ。