当前位置: 首页 > 面试题库 >

使用AJAX进行无缝页面更改

微生俊材
2023-03-14
问题内容

我正在尝试使我的网站页面无缝加载。如果单击下面某些链接上的页面,您将看到我在说什么。

http://www.ultranoir.com/

http://www.itsmassive.com/

当您单击链接时,它将加载信息,并且/#!/添加到URL。如何添加此功能,以便页面以相同的方式加载?哪里有教程?


问题答案:

这称为hashchange事件。您可以在更改后的值而#!无需重新加载页面,然后可以使用AJAX加载所需的信息。如果您使用的是支持HTML5的新浏览器,则可以使用History.pushState类似的方式更改网址栏。

基本上,您可以向链接添加事件,更改URL(使用location.hashpushState),然后可以通过AJAX加载数据。

这里是一个不错的例子location.hash,而这里的一个pushState

对于一个好的跨浏览器解决方案,我建议使用History.js。

如果要使用History.js,则在将脚本添加到页面后,还需要添加一些JavaScript。

$('a.hash').click(function(e){  // For all links with the class "hash"
   e.preventDefault();  // Don't follow link
   History.pushState(null, '', this.href);  // Change the current URL (notice the capital "H" in "History")
   $('#content').slideUp('slow', function(){  // Animate it sliding up
       var $this = $(this);
       $this.load(this.href, function(){  // Use AJAX to load the page (or do whatever)
          $this.slideUp('slow');  // Slide back down
       });
});


 类似资料:
  • 问题内容: 问题 我需要在Django模板中使用jQuery进行Ajax分页。 情况 我的模板中包含以下代码: 和我的看法: 结论 因此,每当我按“下一步”时,它实际上会发出Ajax请求,但数据不会在表中呈现。 对于分页,使用django.core.paginator,我真的很愿意在可能的情况下坚持使用。 您能看到代码缺失/错误吗? 问题答案: 我没有发现错误,但下面向您展示如何解决此任务。我认为

  • 问题内容: 已关闭 。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我正在寻找一个使用jQuery,PHP和MySQL的很好的Ajax分页教程。我遇到的那些不好。 因此,如果有人可以推荐一个好的网站/教程,那就太好了。谢谢。 编辑 这是一些不好的教程。 网站1 网站2 网站3 问题答案: 这是 CakePHP的 一个教程

  • 问题内容: 我是ajax的新手。我试图将请求从我的gsp页面发送到控制器操作。但是我失败了。它没有调用控制器操作,并且页面正在重新加载。任何人都可以看看这个并提供帮助。这是我的以下页面>>> 这是我的控制器动作>>> 问题答案: 您可以尝试以下方法: 或这一个: 根据要求完成ajax调用:

  • 在页面加载时,我运行这个函数将长引用文章隐藏到可点击的链接中,以防止在我的站点上出现大量评论: 问题是,当我通过Ajax/load重新加载“.comments”时,上面的函数不再起作用: 不确定为什么它不起作用,因为函数是在加载函数的已完成的回调部分中调用的?

  • 问题内容: 我想获取我的AJAX请求的进度-到目前为止已下载了多少文件。例如,我正在使用AJAX下载大图片,因此可以将内容放在DATA URL中(这可能不是最好的方法,这只是一个示例。) 因此,我向无法控制的某些主机发出了AJAX请求(flickr),并将进度报告给用户。如果没有服务器端脚本或类似的东西,我找不到解决方法。最好的解决方案是使用JQuery,因为那是我在网站上使用的。谢谢!以撒 问题

  • 问题内容: $(document).ready(function(){$ .ajax({url:“ http://gdata.youtube.com/feeds/api/users/zdf/playlists?v=2 ”,键入:“ GET”,成功:function(msg){console.log(msg);}});}); 我收到此错误“ XMLHttpRequest无法加载http://gdat