对于也需要解决这个问题的人:
首先,我用以下方法抓取图像getElementByID
,并将图像保存为 Base64。然后我将 Base64 字符串保存为我的localStorage
value.
bannerImage = document.getElementById('bannerImg');
imgData = getBase64Image(bannerImage);
localStorage.setItem("imgData", imgData);
以下是将图像转换为 Base64 字符串的函数:
function getBase64Image(img) {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}
然后,在下一页上,我创建了一个带有空白的图像src
像这样:
<img src="" id="tableBanner" />
当页面加载时,我直接使用接下来的三行来获取 Base64 字符串localStorage
,并将其应用到有空白的图像上src
我创建:
var dataImage = localStorage.getItem('imgData');
bannerImg = document.getElementById('tableBanner');
bannerImg.src = "data:image/png;base64," + dataImage;
在很多不同的浏览器和版本中测试了它,它似乎工作得很好。