0

ピンタレストを使用したことがあると思いますが、ピンをクリックすると div が追加され、同じページにライトボックスが表示されますが、URL は実際のピン ページの URL に変更されます。データを表示する同じライトボックスがありますが、そのように URL を変更することは可能ですか?..

私が伝えたいことの1つは、view()メソッドを呼び出すonclickイベントを持つリンクがあり、その中で、私のページにそのページのコンテンツを表示するajaxリクエストで別のページを呼び出していることです。URLを変更したいこのリンクをクリックすると、閉じたときに前のURLに戻ります..ここに私のコードがあります

function view(){
   $.get('mypage.jsp', function(html) {
   $(html).hide().appendTo('body').fadeIn(500);
   }, 'html');
};
4

4 に答える 4

3

この機能はHTML5 プッシュ状態と呼ばれます。これは、より多くの洞察を提供する可能性のある関連する StackOverflow の質問です。HTML5 History API (Pushstate?) を使用するための優れたチュートリアル

于 2012-08-15T11:46:10.963 に答える
1

Pintrest のソリューションは確認していません。しかし、ハッシュはあなたが探しているものですか?

window.location.hash="Whatever-you-want-to-add-to-the-URL"

これは次のように変わりhttp://stackoverflow.com/posts/11968693/ますhttp://stackoverflow.com/posts/11968693/#Whatever-you-want-to-add-to-the-URL

于 2012-08-15T11:45:18.790 に答える
1

はい、HTML5 の新しいhistoryAPI を使用します。ライトボックスがトリガーされる場所に、次のようなものを追加します。

var hist = window.history;
hist.pushState({ image: [IMAGE URL] }, 'lightbox', [URL]);

これにより、ページをリロードせずに現在の URL が変更され、ブラウザーの履歴にエントリが作成されるため、ユーザーはブラウザーの [戻る] ボタンを使用して前の状態 (この場合はライトボックスを開く前) に戻ることができます。

于 2012-08-15T11:47:30.060 に答える
0

履歴オブジェクトで pushState または replaceState 関数を使用して、(ハッシュだけでなく) URL を変更できます。詳細: http://diveintohtml5.info/history.html

于 2012-08-15T11:47:20.723 に答える