改进所有页面加载的jQuery UI ajax加载对话框

时间:2011-07-26 00:42:43

标签: jquery ajax json loading

我的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事件,当他们请求新页面时,我可以弹出加载对话框并将其留在那里直到新页面加载完毕。

感激任何建议?

感谢。

2 个答案:

答案 0 :(得分:2)

当然,请查看卸载事件。 http://api.jquery.com/unload/

所以真的只是查克

$(window).unload(function () { Load(); });

在您准备好的文档中,当用户导航到新页面时它会显示弹出窗口(可能需要自定义它,因为您不需要任何ajax请求,因为您没有动态加载任何数据)。

答案 1 :(得分:0)

在下一页加载之前,您无法离开加载对话框,因为当前文档的卸载与下一页的加载之间通常存在相当大的差距。

如果您的网站完全是ajax,那么您可以这样做,但是建立一个完全由ajax驱动的网站需要注意细节(后退按钮支持,书签,事件等),所以我会三思而后行