2011-09-24 9 views
8

すべてのページに共通のメニューを持つWebアプリケーションを設計しています。これにより、jqueryを使用してdiv内のメニューボタンでリンクされたコンテンツをロードすることにしました。F5またはリフレッシュボタンを押したときにページの一部だけをリフレッシュする方法

だから、私はこれを持っている:

 $("#AddNewProductBtn").click(function() { 
     $("#content").load("addproduct.html"); 
    }); 

は、私が "#content" divの内側に表示されたページを追跡します。ユーザーがページを更新する場合は、「#content」に同じページを読み込みます。これを行う方法はありますか、または回避策がありますか?

iframeを使ってページを読み込むウェブサイトがいくつか見えましたが、ユーザーがメニューのボタンをクリックするとURLも変更されました。私はそれを行う方法についての情報は見つかりませんでした。

おかげ

答えて

5

あなたは、#の後に値をチェックdocument.readyに続いて

domain.com/index.php#addproduct例えば、(#後の)URLのハッシュ部分にパラメータを追加する必要があります対応するコンテンツをロードする。

jQuery historyのようなプラグインの中には、この手法を使用するものがあります。

さらに、ブラウザでコードのローカルストレージとキャッシュ部分を利用できるため、AJAX呼び出しでコンテンツを2度目に読み込むことはありません。

+0

私はそれを私はそれに打撃を与えるでしょ –

7

はここで代わりにハッシュを使用して、あなたはHTML5履歴API(pushStatereplaceState、およびpopstate)を使用することができ、

$(document).keydown(function(e) { 
    if (e.which == 116 || e.keyCode == 82 && e.ctrlKey) { //116 = F5 
     $("#content").load("addproduct.html"); 
     return false; 
    } 
}); 
+0

おかげで打撃を与えるでしょ先端に感謝 –

関連する問題