jQuery $ .get()在显示本机浏览器加载进度时检索,也是HTML5历史问题

时间:2013-07-29 13:37:24

标签: jquery ajax

有没有办法让jQuery执行ajax调用来检索数据,但保持本机浏览器进度条/勾选?

我正在尝试创建类似的效果Facebook - 保持大部分页面加载,当用户点击链接时 - 加载所需内容并插入JavaScript(在我的情况下为jQuery)。

所以我做到了这一点并且它有效,但我希望本机浏览器加载进度,Facebook在某种程度上设法在ajax调用期间保持浏览器加载活动以检索所需内容。

使用jQuery我已尝试使用async: false,但它只是暂停窗口一段时间,而不是显示页面加载的进度。

此外,历史状态问题。我使用此history.pushState(myData,"New Title", newUrl);将新加载的页面推送到历史记录,这很好。我添加了一个window.onpopstate函数来处理后退/前进按钮,它也可以正常工作。我唯一的问题是我的HTML中的某些链接没有指定页面,链接可能只是href="?child=1",当然点击这样的链接获取该部分附加到您当前所在的文件或链接。但是当浏览历史记录页面时,单击此类链接会导致新请求的“文件”部分成为首先加载的原始页面。如何确保那些没有特定页面或文件的链接加载到历史记录定义的CURRENT页面。

1 个答案:

答案 0 :(得分:1)

据我所知,Facebook使用iframe实现了这一点,您可以使用JavaScript在文档中添加iframe并调用document.write()来启动加载状态,使用document.close()从iframe中停止它

另一种选择是通过JavaScript更改和动画图标,有一个cool demo of this here