2012-01-05 64 views
0

我是Phonegap + Blackberry开发的新手。我一直在研究基于Phonegap的Web应用程序,该应用程序运行本地html文件,使得Ajax请求与服务器进行通信。黑莓OS5.x上的Jquery Mobile Spinner

我在应用程序中做了很多Ajax请求,所以我需要一个微调器,告诉用户的应用程序与服务器有交互。幸运的是,我发现Jquery mobile对于设计和性能问题以及纺纱人员都有一些有用的功能。

$.mobile.showPageLoadingMsg(); 

上面的代码在OS5上面的Blackbery上运行良好,但是在OS5上没有办法。在OS5微调器出现,但然后冻结用户界面,它不会移动并取消该过程。

经过一番研究,我了解到Blackberry OS5没有Webkit。也许这个问题出现是由于这个原因。

我该如何处理这个问题,我的应用必须与OS5设备兼容,而且我还需要一个微调器。我也使用基于CSS的纺纱器,但它们不起作用,因为Webkit在OS5上不存在。

在此先感谢。

回答

0

jQuery Mobile for BlackBerry 5及以下版本禁用Ajax导航。你将没有微调,因为它不会发出Ajax请求。它将进行完整页面请求,因此请确保您创建的每个页面都可以作为独立页面进行打击。

+0

那么,有没有办法处理OS5的跨域通信? – barisatbas 2012-01-06 08:56:06

+1

有一个潜在的方法。脚本标签从来没有跨域限制。你可以做的是从任何域加载一个脚本,并让该脚本调用返回你正在寻找的JSON数据。没有说脚本src必须是.js扩展,只是它返回有效的JS。因此,请调用一个服务器端URL来格式化数据并将其作为JSON返回,然后动态创建页面内容。但是,要小心。 BB OS5是一款POS机,它处理JavaScript的速度非常慢,您可能会对用户体验产生负面影响。 – sgliser 2012-01-06 16:20:25

+0

http://docs.blackberry.com/en/developers/deliverables/11844/BB_Browser_content_support_by_version_438586_11.jsp,根据这个页面,看来os5完全支持AJAX(XMLHttpRequest对象)。当我使用AJAX - XMLHttpRequest对象时,它终于起作用,对于跨端通信,这可以用来代替iframe或脚本标签等。 – barisatbas 2012-01-09 08:04:34