为了账号安全,请及时绑定邮箱和手机立即绑定

Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.  这是我的报错。 这是跨域问题吗。可我是本地文件的图片啊!

正在回答

5 回答

我已经搭建了服务器,确实是没有服务器的问题

0 回复 有任何疑惑可以回复我~

wo的也是这个问题  看老师的应该书已经发布到服务器了的     不知道是不是这个问题

0 回复 有任何疑惑可以回复我~
#1

勇恒的思念

我的也是,我决定搭一个服务器
2015-10-02 回复 有任何疑惑可以回复我~
#2

一米尘埃

跨域的资源不让使用
2015-10-13 回复 有任何疑惑可以回复我~

我的也是,

0 回复 有任何疑惑可以回复我~

我的也是这样 怎么回事???

0 回复 有任何疑惑可以回复我~

有可能,我按照老师的做法,成功了。

在你运行代码的时候,需要一个web服务,看老师的浏览器地址栏(localhost:8080),而不能直接在本地用浏览器打开页面。(如果你了解Node,那么你可以安装http-server来轻松实现。)

以下是我的代码:

var src = '5k.jpg'
			var set = function(key){
				var img = document.createElement("img");
				img.addEventListener("load",function(){
					var imgCanvas = document.createElement("canvas"),
						imgContext = imgCanvas.getContext("2d");
					imgCanvas.width = this.width;
					imgCanvas.height = this.height;
					//渲染
					imgContext.drawImage(this,0,0,this.width,this.height);
					var imgAsDataUrl = imgCanvas.toDataURL("image/png");
					//保存到本地
					try{
						localStorage.setItem(key,imgAsDataUrl);
					}catch(e){
						console.log("storage failed : " + e);
					}
				},false);
				img.src = src;
			}

			var get = function(key){
				var srcStr = localStorage.getItem(key);
				var imgObj = document.createElement("img");
				imgObj.src = srcStr;
				document.body.appendChild(imgObj);
			}
2 回复 有任何疑惑可以回复我~
#1

唯盼温暖亦如初

恩,使用Node的http-server搭建web服务,实现了视频中老师的效果。十分感谢!!!
2017-03-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
HTML5存储
  • 参与学习       55333    人
  • 解答问题       109    个

本课程主要讲解浏览器端存储的实现方案,从而优化你的业务

进入课程
意见反馈 帮助中心 APP下载
官方微信