0

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

当这些往返行程中甚至有轻微的延迟(例如甚至低至 1/4-2 秒)时,用户会迷失方向,在他们单击和开始呈现响应之间似乎“没有发生任何事情”。

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

这种方法不可避免地会对页面上的 Javascript 造成严重破坏,很多时候会使未来的点击完全失效。

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

4

1 回答 1

2

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

像 jQuery Mobile 这样的框架内置了这个功能(虽然我当然不建议你使用 jQuery Mobile)。

我个人在我的应用程序中为此使用了一个 jQuery 插件:http: //malsup.com/jquery/block/

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

于 2012-06-15T23:06:15.150 回答