我对网络开发比较陌生,所以这可能是一个奇怪的问题。我希望我的网站的一部分加载新页面。但重要的部分不需要改变。我现在所做的是将内容加载到div中。
$('#rightdiv').load("about.html");
这样做的缺点是地址没有变化,我相信有一个很好的解决方案,但我不知道如何。我试过谷歌但我找不到任何好的东西。所以我很乐意看到一个解决方案以及如何调用溶剂(希望你知道我的意思)。
感谢您的时间和精力。
答案 0 :(得分:1)
标准方法是使用location.hash
。例如,如果您在mysite.com/
上并加载了about.html
页面,则可以将哈希设置为#about
。这不会导致页面重新加载,但会改变URL(提供书签/后退按钮支持)。
例如,使用成功回调到load()
:
$('#rightdiv').load('about.html', function() {
location.hash = 'about';
});
HTML5添加了一个名为pushState
的新API。这允许更完整地修改URL而不会导致页面重新加载。详细了解here。
答案 1 :(得分:1)
支持HTML5 pushState
的浏览器可让您更改路径:
$('#rightdiv').load("about.html", function pushState(){
if(history && history.pushState){
history.pushState('','','about.html');
}
});
答案 2 :(得分:0)
这可以通过利用HTML5及其功能轻松实现。
Myspace的功能类似于你所要求的。 HTML5 History API可在不刷新页面的情况下更改浏览器URL。将它与JQuery $ .ajax结合使用可以产生myspace,github和facebook中显示的效果。 “arundavid”在tinywall.info
答案 3 :(得分:-1)
这是使用AJAX将数据加载到div
的正确方法。我个人更喜欢使用jQuery.ajax()
功能。