【发布时间】:2016-06-16 04:39:40
【问题描述】:
我正在为 Android 和 iOS 开发一个混合应用程序。这不是我的第一个应用程序,但我也不认为自己是专家。目前我的目标是 Android 4.4 或更高版本。对于 iOS,我有一个 iPhone 4S 进行测试,不支持低于 iOS 9.2 的任何内容。为了制作这个应用程序,我目前正在使用 Phonegap Build,它输出 version=cli-5.2.0 并使用 jQuery Mobile 1.4.5 作为处理 UI、导航等的框架。 Javascript 正在本地加载 - 从设备。
考虑到某些服务器交互需要一些时间来加载,我想在服务器交互过程中显示加载 gif。为此,我使用了来自 jQuery Mobile 的 loader 小部件。 ajax请求调用代码如下:
$.serviceCall = function(web_method, web_root, params){
var ajax_response;
var request_url = 'http:/some.url.com/' + web_root + '/' + web_method;
$.mobile.loading( "show", {
text: "loading",
textVisible: false,
theme: "z",
html: ""
});
$.ajax({
type: 'get',
contentType: 'application/json; charset=utf-8',
async: false,
dataType: 'json',
url: request_url,
data: params,
}).done(function(data){
ajax_response = data
ajax_response.callback = 'done';
$.mobile.loading("hide");
}).fail(function(jqXHR, textStatus, errorThrown){
var failure_details = {
status: jqXHR.status,
text_status: textStatus,
error_thrown: errorThrown
};
ajax_response = failure_details;
ajax_response.callback = 'fail';
$.mobile.loading("hide");
});
return ajax_response;
};
当从桌面浏览器或从涟漪模拟器访问以模拟实际设备时,它工作得非常好。一旦请求开始,加载程序就会显示,一旦请求结束就会隐藏并进行页面转换。
但是,在 android 上不起作用。每当请求启动时,无论请求花费多长时间,加载程序都不会显示。我需要应用移动操作系统的任何技巧才能使其正常工作吗?
【问题讨论】:
-
请在您的帖子中回答以下问题。因为这似乎是你关于这个主题的第一篇文章。这是您的第一个混合应用程序吗?您在使用桌面应用程序吗?您的目标平台及其目标版本是什么:Android 4、5、6? iOS 7、8、9?你在使用CLI, SDK or Build 吗?请不要假设答案,请阅读链接。一旦您在帖子中回答了问题,请在 cmets 中回复,以便我知道您已在帖子中添加信息。
-
@JesseMonroy650 对不起,我完全失去了你的评论!我根据您的要求更新了问题信息,如果您需要任何其他信息,请告诉我,谢谢!
-
您在使用桌面应用程序吗?您使用的是什么框架:Angular、Express、Ember?
-
@JesseMonroy650 jQuery Mobile,它在标题上,不过我会把它添加到描述中
-
好的。我将其添加到您的原始帖子中。我在胡乱猜测。
标签: android jquery jquery-mobile phonegap-build hybrid-mobile-app