ページのアドレスを変更できるようにしたいが、その変更時に HTTP リクエストを発行したくない。JavaScriptを使用してこれを行うにはどうすればよいですか?
6 に答える
You mean like, I'm visiting http://www.fakebank.example
and you want the address bar to display http://www.yourbank.example
? I think there are obvious reasons this won't be possible.
履歴エントリを追加しませんか? を使用するだけlocation.replace(..)
です。
あなたが求めているのはURL スプーフィングと呼ばれるものです。
これを許可するブラウザには、重大なセキュリティ上の問題があります。
You can set location.hash without a page load, but i'm not sure if that's what you're wanting -- your question is fairly vague.
Assuming that you mean the address indicated in the browser's address bar, I don't believe that it can. Setting document.location or window.location will automatically trigger a page reload, as far as I know.
As olliej said, you can change the hash parameter (a.k.a. fragment identifier), which does not trigger a page reload.
あなたの質問に直接答えるには、それは不可能です。別のページに移動せずに別のページに移動する方法を尋ねているのはナンセンスです。
ページが既にブラウザのキャッシュにある場合 (そして遠い将来の日付が設定されている場合)、技術的には、ユーザーはサーバーに再度要求することなくそのページに移動できる場合があります。しかし、あなたは何も保証できません。
あなたが探しているのは、フレームを使用するようなものだと思います。フルexample.com/index.html
サイズのフレームを設定して、 などの別のページを含めることができますexample.com/page2.html
。フレーム内のリンクは、ブラウザに表示される URL を変更しません。詳細については、このチュートリアルを参照してください。