我有一个函数来转换我的科尔多瓦应用程序上的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调试应用程序。 –