我的Web开发项目通过JSON和AJAX加载了大量内容(这些内容基本上不一样)。
我已经在jquery UI对话框中弹出了一个加载gif。这与.ajaxStart
和.ajaxStop
事件相关联。
$(document).ready(
function () {
$(window).load(function () { Load(); });
....
function Load() {
.ajaxStart(function () {
//Show popup
}
.ajaxStop(function () {
//Hide popup
}
所以这很不错,每当我通过ajax加载内容时,就会出现加载弹出窗口。大。我的下一个问题是 - 我得到的反馈 - 他们认为这个内容有加载是奇怪的,但是当你在网络应用程序中请求一个完整的新页面时,'加载'需要一段时间,并且没有加载对话框像其他ajax加载示例。就个人而言 - 这很有道理,但用户并不喜欢它。
有没有简单的方法可以将我的同一个对话框连接到页面加载?我想如果有一种方法可以知道/ jquery事件,当他们请求新页面时,我可以弹出加载对话框并将其留在那里直到新页面加载完毕。
感激任何建议?
感谢。
答案 0 :(得分:2)
当然,请查看卸载事件。 http://api.jquery.com/unload/
所以真的只是查克
$(window).unload(function () { Load(); });
在您准备好的文档中,当用户导航到新页面时它会显示弹出窗口(可能需要自定义它,因为您不需要任何ajax请求,因为您没有动态加载任何数据)。
答案 1 :(得分:0)
在下一页加载之前,您无法离开加载对话框,因为当前文档的卸载与下一页的加载之间通常存在相当大的差距。
如果您的网站完全是ajax,那么您可以这样做,但是建立一个完全由ajax驱动的网站需要注意细节(后退按钮支持,书签,事件等),所以我会三思而后行