質問

もちろん、最初のリクエストを除いて、100%Ajaxのシステムを開発しています。

JavaScriptを使用して、document.locationのアドレスを変更することに興味があります。ただし、ブラウザがその「新しい」場所にページをロードしたくありません。

誰かが私がこれを行う方法を知っていますか?

役に立ちましたか?

解決

「ハッシュ」部分だけでなく、場所全体を書き直すために、ブラウザの履歴APIを使用できますが、現在のようです Gecko 1.9.3/Firefox 4でサポート.

history.replaceState({}, document.title, url)

他のヒント

ナビゲートせずにURL全体を変更することは不可能です。 セキュリティ上の問題 生成できること。

あなたはのみ変更できます location.hash, 、次のように続くURLの一部です # シンボル:

location.hash = "foo";

URLはに変更されます http://someurl.com/#foo

Gmailが使用するのと同じ方法を使用できます。アンカーをURLの最後に追加すると、ブラウザはページをリロードしてはなりませんが、情報を読むことができます document.location.href そしてそれに基づいて行動します。これにより、バックボタンの機能がそのまま続きます(JavaScriptがサポートすることを提供します)

例えば

最初のページはです http://www.mypage.com/index.php 次の「ページ」を使用してクリックします <a href="#page2">link</a> そしてそれはに変わります http://www.mypage.com/index.php#page2

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top