低成本页面转换

时间:2013-07-31 16:19:02

标签: javascript jquery html

我对网络开发比较陌生,所以这可能是一个奇怪的问题。我希望我的网站的一部分加载新页面。但重要的部分不需要改变。我现在所做的是将内容加载到div中。

$('#rightdiv').load("about.html");

这样做的缺点是地址没有变化,我相信有一个很好的解决方案,但我不知道如何。我试过谷歌但我找不到任何好的东西。所以我很乐意看到一个解决方案以及如何调用溶剂(希望你知道我的意思)。

感谢您的时间和精力。

4 个答案:

答案 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()功能。