使用jQuery和PhoneGap在Android中不显示图像,但在iPhone中也可以显示
我花了一整天的时间才弄明白这个问题。我正在开发一个webapp(使用Phonegap+HTML+jQuery+CSS)。 它由一个显示用户签名的屏幕组成。 我使用了iPhone中使用的相同的.js文件,签名图像显示没有任何问题,但相同的代码在Android上不起作用(我尝试使用Android 2.2.1、2.3.3、3.0和4.0),但没有任何效果。 以下是my.js文件中的代码片段:使用jQuery和PhoneGap在Android中不显示图像,但在iPhone中也可以显示,android,jquery,image,cordova,Android,Jquery,Image,Cordova,我花了一整天的时间才弄明白这个问题。我正在开发一个webapp(使用Phonegap+HTML+jQuery+CSS)。 它由一个显示用户签名的屏幕组成。 我使用了iPhone中使用的相同的.js文件,签名图像显示没有任何问题,但相同的代码在Android上不起作用(我尝试使用Android 2.2.1、2.3.3、3.0和4.0),但没有任何效果。 以下是my.js文件中的代码片段: SignatureButtonThumbComponent.prototype.setInitialValue
SignatureButtonThumbComponent.prototype.setInitialValue = function () {
var date, value;
value = this.record.valueForField(this.config.key);
//value = window.btoa(this.record.valueForField(this.config.key)); // Not Working
console.log("Signature Value : " + value);
console.log("Signature Date value : " + date);
date = this.record.valueForField(this.config.key_date);
if (value !== 'undefined') {
this.el.append("<button class='captured_signature_button'><img src='" + value + "'/></button>");
if (date) {
return this.el.append("<div class='signature_date'>" + (Formatter.timeFormattedNicely(date)) + "</div>");
}
} else {
return this.el.append("<button class='big blue arrow_button' id='get_patient_signature'><span>" + this.config.button_label + "</span><span class='icons arrow_right'></span></button>");
}
};
在进一步计算之后,我现在在logcat中得到的是:
09-2116:33:27.947:D/PhoneGapLog(948):file:///android_asset/www/new_mobile.js: 第15790行:签名值:数据:,
经过一整天的运行,我终于找到了解决方案。
Android基本上不支持HTML5的canvas
,尽管它声称支持HTML5。
每当我试图保存canvas
对象的绘制时,我得到数据:,
表示null
作为输出。
这是一个很好的js,您可以使用它覆盖默认方法canvas.toDataURL()
。
这种js的唯一缺点是保存图形的速度相对较慢。但就我的情况而言,它非常适合,我将其集成到jquery中。你可以在这里找到这个js:经过一整天的运行,我终于找到了解决方案。 Android基本上不支持HTML5的
canvas
,尽管它声称支持HTML5。
每当我试图保存canvas
对象的绘制时,我得到数据:,
表示null
作为输出。
这是一个很好的js,您可以使用它覆盖默认方法canvas.toDataURL()
。
这种js的唯一缺点是保存图形的速度相对较慢。但就我的情况而言,它非常适合,我将其集成到jquery中。您可以在此处找到此js:
09-21 12:01:19.562: D/PhoneGapLog(1362): Signature Date value : undefined
09-21 12:01:19.672: D/PhoneGapLog(1362): Signature Value : undefined