Javascript 在Phonegap应用程序中,您如何表示正在向服务器发出请求/响应?

Javascript 在Phonegap应用程序中,您如何表示正在向服务器发出请求/响应?,javascript,html,jquery,cordova,Javascript,Html,Jquery,Cordova,考虑一个标准的HTML应用程序,用Phonegap包装,正常的“点击”或“触摸”事件向服务器发送请求,偶尔向服务器发送或获取表单数据,WebKit客户端等待响应,然后呈现 当这些往返行程中甚至有轻微的延迟时(例如,低至1/4-2秒),用户就会迷失方向,觉得从单击到开始呈现响应之间似乎“什么都没有发生” Phonegap是否有处理短和/或长响应时间的标准实践?我已经尝试过将所有标准的HREF单击更改为AJAX调用,AJAX调用接收一个小的HTML片段,然后JavaScript只将其附加到页面上现有

考虑一个标准的HTML应用程序,用Phonegap包装,正常的“点击”或“触摸”事件向服务器发送请求,偶尔向服务器发送或获取表单数据,WebKit客户端等待响应,然后呈现

当这些往返行程中甚至有轻微的延迟时(例如,低至1/4-2秒),用户就会迷失方向,觉得从单击到开始呈现响应之间似乎“什么都没有发生”

Phonegap是否有处理短和/或长响应时间的标准实践?我已经尝试过将所有标准的HREF单击更改为AJAX调用,AJAX调用接收一个小的HTML片段,然后JavaScript只将其附加到页面上现有的DIV上。在延迟期间,我只能显示一个“加载”指示器

这种方法不可避免地会对页面上的Javascript造成严重破坏,很多时候会导致未来的点击完全不起作用

我很好奇在这方面的标准方法是什么。这似乎是一个非常常见的用例。

虽然本身没有“标准实践”,但许多应用程序(包括本机应用程序)使用阻塞“微调器”让用户知道正在加载某些内容,并在从服务器获取时阻止与“页面”的交互

像jQuery Mobile这样的框架内置了这一功能(尽管我当然不建议您使用jQuery Mobile)

我个人在我的应用程序中使用jQuery插件:

如果您还没有使用jQuery,那么您肯定不想仅仅为了获得blockUI插件而开始,因此您可能需要设计自己的插件。您真正需要的是一个全屏div,其中有一个大的z索引绝对定位,以便在获取数据时阻止交互。在该div中,您可以放置一个微调器或一条指示活动正在发生的消息,并在抓取完成后将其再次移除