2011-08-08 6 views
1

私は二つのことやろうとしている:HTML5アプリルーティング、pushState

//Video 
$("a").click(function(){ 
history.pushState(null, "Video", "/video/"); 
return false; 
}); 

URLを変更して、誰のタイプ、それならばDIVを表示するリンクをルーティングすることができるように

使用pushStateを自分のブラウザに:

www.mysite.com/video/ ---> show div 

私はいくつかのスクリプトを見てきた:davis.js、sammy.jsは、

をhistory.jsこれらのスクリプトは必要ですか?これを行うjQueryには方法がありますか?

答えて

5

私はDavis.jsの著者ですから少し偏っていますが、Davis.jsやSammy.jsのようなルーティングライブラリを使うのが最も簡単な方法です。両方のライブラリには、リンクがクリックされたときの処理や、前後のボタンを使用して状態と履歴APIの他のすべての特質をナビゲートするためのコードがあります。

本当にシンプルなものを作成したい場合は、自分でコードを作成することもできますが、これはlibを使用するよりも少し時間がかかります。ここで

は、あなたが何ができるかの目安である:

$("a").click(function (e) { 
    e.preventDefault() 
    var link = $(this) 
    history.pushState({pushedByMe: true}, link.attr('title'), link.attr('href')) 
    yourCodeHere() 
}) 

history.onpopstate = function (event) { 
if (!event.state.pushedByMe) return 
yourCodeHere() 
} 
関連する問題