首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >低成本页面转换

低成本页面转换
EN

Stack Overflow用户
提问于 2013-07-31 16:19:02
回答 3查看 88关注 0票数 1

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

代码语言:javascript
运行
复制
$('#rightdiv').load("about.html");

这样做的缺点是地址没有变化,我相信有一个很好的解决方案,但我不知道怎么做。我试过搜索它,但我找不到任何好的东西。因此,我希望看到一个解决方案,以及如何称呼这个解决方案(希望你知道我的意思)。

谢谢你的时间和努力。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-31 16:26:59

支持HTML5 5的pushState的浏览器将允许您更改路径:

代码语言:javascript
运行
复制
$('#rightdiv').load("about.html", function pushState(){
    if(history && history.pushState){
        history.pushState('','','about.html');
    }
});
票数 1
EN

Stack Overflow用户

发布于 2013-07-31 16:22:20

标准的方法是使用location.hash。因此,例如,如果您在mysite.com/上,并加载了about.html页面,您可以将哈希设置为#about。这不会导致页面重新加载,但会更改URL (提供书签/后退按钮支持)。

例如,使用对load()的成功回调:

代码语言:javascript
运行
复制
$('#rightdiv').load('about.html', function() {
    location.hash = 'about';
});

HTML5添加了一个名为pushState的新API。这允许对URL进行更完整的修改,而不会导致页面重新加载。阅读更多关于该这里的信息。

票数 1
EN

Stack Overflow用户

发布于 2013-07-31 16:22:29

这是使用AJAX将数据加载到div的正确方法。不过,我个人更喜欢使用jQuery.ajax()函数。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17975692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档