簡體   English   中英

解決未捕獲的SyntaxError:意外令牌>

[英]Resolve Uncaught SyntaxError: Unexpected token >

我有一個在Cordova應用程序上轉換base64圖像中的文本的功能。 它工作正常,但在少數設備中,腳本上存在意外的令牌錯誤。

功能如下:

    function socialShare(message, font) {
    var y = 12;
    var x = 18;
    var canvas = document.getElementById("receipt");
    var context = canvas.getContext("2d");

    // calcula a largura da string mais larga
    context.font = font;
    var maxStrWidth = message.map(e => {
        return context.measureText(e).width;
    }).sort((a, b) => {
        return b - a;
    });

    // configura a largura do canvas dinamicamente
    canvas.width = maxStrWidth[0] + 9;
    canvas.height = x * message.length;

    // seta a cor do background do canvas
    context.fillStyle = "#ffffe6";
    context.fillRect(0, 0, canvas.width, canvas.height);

    // escreve o texto
    context.font = font;
    context.fillStyle = "#000";
    message.forEach(e => {
        context.fillText(e, 3, y);
        y += x;
    });

    // gera a string base64
    let base64 = canvas.toDataURL("image/jpeg", 1);

    // chamada do plugin social share
    window.plugins.socialsharing.share(
        null, 
        'Comprovante de Aposta', 
        base64, 
        null
    );
}

錯誤在var maxStrWidth行上引發。 你覺得有什么問題嗎?

並非所有設備都支持ES6箭頭功能,對於使用較舊chrome webview版本的較舊android版本尤其如此。

如果您打算支持較舊的設備,則最好堅持使用標准函數聲明。

在這里進一步閱讀:

https://strongloop.com/strongblog/an-introduction-to-javascript-es6-arrow-functions/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM