Phonegap(2.8.1)-Android(3.x和4.x)中的jQuery load()问题



我正在尝试在PhoneGap(2.8.1)-Android 4.2.2中从web动态加载图像。其代码如下("照片"是"img"标签的id):

var imageSource = "http://placekitten.com/g/400/400";
$('#photo').load(function(){
console.log("Image Path : "+imageSource);
image_loaded = 1;
}
)
.attr("src", imageSource)
.error(
function(){
image_loaded = -1;
alert('Image failed to load');
var thisImg = this;
setTimeout(function(){
if ( ! thisImg.complete ) {
alert('Process not complete yet');
$(thisImg).attr("src", imageSource);
}
},
30000
);
});

然而,代码未能加载。这有点奇怪,因为相同的代码,相同的phonegap版本,在Android 2.2中运行得非常好,但不知何故,它只是落在了Android 3.x和4.x的"错误"部分!

仔细比较安卓2.2和4.2.2设备的"LogCat",很明显,在后一种情况下有一条消息:

"Unkonwn chromium error:  - 6"

已经阅读了几篇文章,并试图在XML等中设置各种访问权限,试图用更高版本(2.9.1)替换Phonegap库,但没有成功。关于StackOverflow的一些参考问题:

jquery.load()在phonegap 3.0.0 上不起作用

jQuery.load()能在PhoneGap上工作吗?

对于Android 3.x和4.x,如果我可以的话,还请添加一点,$("#photo").load()下的console.log()函数根本没有命中,代码立即出现在"error"部分的"alert"上。

我是不是遗漏了一些显而易见的东西?或者,如果有什么技巧可以尝试?

非常感谢!

这个问题的解决方案完全出乎意料。

在互联网上进行了大量研究后,普遍认为(也许)到目前为止,Phonegap的唯一稳定版本是Phonegap 2.4.0和Phonegap 2.5.0

我只是将Phonegap库从Phonegap 2.8.1替换为Phonegap 2.4.0,现在所有的Android版本都可以正常工作!我一点也不需要更改HTML、jQuery或Android代码。

事实上,这听起来很奇怪,但事实就是这样。到目前为止,我还没有因为这种故意的"降级"而不得不在任何其他Phonegap功能上妥协。

谢谢。

最新更新