我正在设计一个包含所有页面共享菜单的Web应用程序。因此我决定使用jquery加载div中菜单按钮链接的内容。
所以,我有这个:
$("#AddNewProductBtn").click(function() {
$("#content").load("addproduct.html");
});
我想跟踪“#content”div中显示的页面。如果用户刷新页面,我想在“#content”中加载相同的页面。有没有办法做到这一点,还是有任何解决方法?
我看到一些使用iframe加载页面的网站,但是当用户点击菜单中的按钮时,网址也会被更改。我没有找到任何关于如何做到这一点的信息。
由于
答案 0 :(得分:7)
这是F5和CTRL + R的解决方案
$(document).keydown(function(e) {
if (e.which == 116 || e.keyCode == 82 && e.ctrlKey) { //116 = F5
$("#content").load("addproduct.html");
return false;
}
});
答案 1 :(得分:5)
您应该将参数附加到网址的哈希部分(在#之后),例如domain.com/index.php#addproduct
然后在document.ready上检查#之后的值并加载相应的内容。
像jQuery history这样的插件使用这种技术。
此外,您可以在浏览器中利用代码的本地存储和缓存部分,这样您就不会在第二次使用AJAX调用加载内容。
答案 2 :(得分:0)
或者,您可以使用HTML5历史记录API(pushState
,replaceState
和popstate
)代替使用哈希值。基本上,它是一个带有一些改进的哈希(对于一个,可由搜索引擎索引)。
https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
http://www.w3.org/TR/html5/history.html