使用jQuery和PhoneGap在Android中不显示图像,但在iPhone中也可以显示

使用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

我花了一整天的时间才弄明白这个问题。我正在开发一个webapp(使用Phonegap+HTML+jQuery+CSS)。 它由一个显示用户签名的屏幕组成。 我使用了iPhone中使用的相同的.js文件,签名图像显示没有任何问题,但相同的代码在Android上不起作用(我尝试使用Android 2.2.1、2.3.3、3.0和4.0),但没有任何效果。 以下是my.js文件中的代码片段:

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