属性
- 设置Item,
localStorage.setItem(key, val)
; - 获取Item,
localStorage.getItem(key)
; - 移除Item,
localStorage.removeItem(key)
; - 移除所有item,
localStorage.clear()
;
demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div class="controller">
<button onClick="setImg()">set</button>
<button onClick="getImg()">get</button>
</div>
<script type="text/javascript" width="1920" height="1080">
let imgSrc = "https://s4.music.126.net/style/web2/img/default/default_album.jpg";
function setImg(key) {
var img = document.createElement('img');
img.setAttribute('crossOrigin', 'Anonymous');
img.addEventListener('load', function () {
var canvas = document.createElement('canvas');
debugger;
var canvasCxt = canvas.getContext('2d');
canvas.width = this.width;
canvas.height = this.height;
// render img to canvas
canvasCxt.drawImage(this, 0, 0, this.width, this.height);
var imgDataURL = canvas.toDataURL('image/jpeg');
try {
localStorage.setItem(key, imgDataURL);
} catch (e) {
console.log(e);
}
}, false);
img.src = imgSrc;
}
function getImg(key) {
let
src = localStorage.getItem(key),
imgObj = document.createElement('img');
imgObj.src = src;
document.body.appendChild(imgObj);
}
</script>
</body>
</html>
在线demo点击此处
将图片绘制到canvas上时,如果图片地址存在跨域限制,需要为img设置crossOrigin
属性:img.setAttribute('crossOrigin', Anonymous')