1

我花了一整天的时间才弄清楚这个问题。我正在开发一个 webapp(使用 Phonegap + HTML + jQuery + CSS)。它由一个屏幕组成,显示用户签名。我使用了与 iPhone 相同的 .js 文件,并且签名图像显示没有任何问题,但相同的代码在 Android 上不起作用(我尝试使用 Android 2.2.1、2.3.3、3.0 和 4.0)但没有任何效果。以下是我的 .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-21 12:01:19.562: D/PhoneGapLog(1362): Signature Date value : undefined
09-21 12:01:19.672: D/PhoneGapLog(1362): Signature Value :  undefined

在想了一点之后,现在我在 logcat 中得到的是这样的: 09-21 16:33:27.947: D/PhoneGapLog(948): file:///android_asset/www/new_mobile.js: Line 15790 : Signature Value : data:,

4

1 回答 1

1

经过一整天的运行,我终于找到了解决方案。基本上 Android 不支持canvasHTML5,尽管它声称相同。每当我试图保存canvas对象的油漆时,我都会得到输出的data:,意义。null这是一个不错的 js,您可以使用它来覆盖canvas.toDataURL(). 这个 js 的唯一缺点是保存图形的速度相对较慢。但就我的情况而言,它非常适合,我将它集成到我的 jquery 中。你可以在这里找到这个 js:http ://code.google.com/p/todataurl-png-js/

于 2012-09-22T07:44:29.417 回答