我有一个 javascript/Jquery 函数,如下所示:
function loadRawData()
canvasData = canvas.toDataURL("image/png");
rawData = $('#imgInput').val();
//check the raw data box is not empty or identical to the canvas
if(rawData == ""){
console.log("Raw data box is empty!");
}else if(rawData != canvasData){
//WHY ARE THEY DIFFERENT???
alert(canvasData);
alert(rawData);
///////////////////////////
// load image from data url
raw = new Image();
raw.src = rawData;
raw.onload = function() {
//Clear canvas for the new image
clearCanvas();
context.drawImage(raw, 0, 0);
}
console.log("Canvas restored to rawData");
}else{
console.log("Canvas failed to restore (same as canvas?)");
}
}
当我的函数被调用时,它会很好地从 ID 为“imgInput”的文本区域加载数据,并显示我尝试加载的图片;但是当我之后立即调用它时,即使这两个变量被认为是相同的,它也会通过 else 传递 true 。
我做了两个警告框来查看每个变量的数据,果然,画布的 URL 和原始数据的 URL 完全不同,但是加载的图片是相同的。
这是怎么回事?我不知道我在哪里搞砸了?提前感谢您提供的任何建议 =)