首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAXify站点

AJAXify站点
EN

Stack Overflow用户
提问于 2009-07-06 20:10:49
回答 6查看 2K关注 0票数 13

我有合法的理由去做我试图解释的事情。我有一个现有的网站,比如说abc.com,它有常规的页面,等等,一切都是用php写的。现在我想要AJAXify的网站,即当用户点击一个链接,它应该获取使用AJAX的链接,并替换页面内容。这是最简单的部分,我可以使用jQuery get函数来实现它。

现在,当用户为页面添加书签时,问题就来了。我可以使用散列标记来指定用户是否在另一个页面上,但是否可以在调用页面时使用PHP直接获取新页面,而不是使用javascript再次获取新页面。

你能给我一个关于如何实现上述目标的大纲吗?此功能类似于Facebook的功能。

感谢您的宝贵时间。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-07-06 20:59:09

这是一个相当简单的过程,(1)解析哈希标签,(2)像往常一样通过Ajax加载内容。

如果在用户单击页面时加载更多内容,只需确保始终正确地修改散列标记,以反映页面上的内容。

这是可以使用的a quick example。单击一个名称并记下哈希标签。相关的Javascript如下所示:

代码语言:javascript
复制
// Go straight to content if it's in the hash.
$(document).ready(function(){
   load_story_from_hash();
});

// Call this function whenever user clicks on a hash link
function set_hash(hash){
   window.location.hash = hash;
   load_story_from_hash()
}

// Actually load content based on the hash in the URL
function load_story_from_hash(){

   var hash = window.location.hash;
   hash = hash.replace(/^#/, '');

   if (hash) {

      $('#post_container').load(hash+'.html', {}, function(){
         $.scrollTo('#post_container', 1000);
      });

   }

}
票数 3
EN

Stack Overflow用户

发布于 2009-07-06 21:13:48

答案是否定的,你不能得到URL散列服务器端的值。参见How to get Url Hash (#) from server side

您必须在客户端获取散列值并发出额外的请求。

票数 3
EN

Stack Overflow用户

发布于 2010-08-29 01:34:20

jQuery历史记录是我的首选。它可以在这里找到:http://www.balupton.com/projects/jquery-history/提供跨浏览器支持,绑定到哈希表,重载哈希表,等等。

还有一个称为SEO的Ajax扩展,允许它轻松地将您的网页升级为适当的Ajax应用程序,而无需进行服务器端更改和保留对jQuery和JS禁用的友好:http://www.balupton.com/projects/jquery-ajaxy/

这是http://wbhomes.com.au/http://www.balupton.com等网站选择的解决方案

总体而言,它们都有很好的文档记录、支持和丰富的功能。他们还赢得了一个赏金问题,How to show Ajax requests in URL?

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

https://stackoverflow.com/questions/1088987

复制
相关文章

相似问题

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