我有一個函數來轉換我的科爾多瓦應用程序上的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線拋出。你看到有什麼問題嗎?
看來這些設備不支持脂肪的箭頭語法。嘗試在該行上方的某處添加一個空的胖箭頭函數,看看它是否在新行上出錯。哪些設備/瀏覽器會失敗? – Brennan
這個錯誤出現在一堆不同的設備上,但它們大部分是4.X.X,並且很少有5.5.1 Android。我正在使用Chrome Inspect調試應用程序。 –