求教:Html 5 中canvas.toDataURL方法报SecurityError错误 ,怎么解决 ??

UEAnswer 2013-04-16 10:17:39
function makeImage() {
var canvas = document.getElementById("canvas");
canvas.onclick = function () {
alert(canvas.toDataURL("image/png"));
window.location = canvas.toDataURL("image/png");

};
}


如果 canvas为原始的空擦nvas没有开始绘制 ,能够正常alert。但是当canvas绘制后,则报出SecurityError错误,这是什么原因,应该如何解决,求教了,谢谢大家。
...全文
2059 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
UEAnswer 2013-04-16
  • 打赏
  • 举报
回复
引用 5 楼 functionsub 的回复:
安全策略呗,很范的东西。 举个例子,假如你所在局域网有个服务器photo,你host指向www.photo.com 然后你访问我的网站,我在页面里加一个canvas,不停的扫www.photo.com/images下的图片,扫到就drawimg,再toDaaURL发到我自己的后台,保存到我的服务器下,这样明显是不行的吧。 你不要问我怎么知道你的pho……
举例子解释浅显易懂,谢谢。
KK3K2005 2013-04-16
  • 打赏
  • 举报
回复
别的网站的图片当然不会给你随便引用
functionsub 2013-04-16
  • 打赏
  • 举报
回复
安全策略呗,很范的东西。 举个例子,假如你所在局域网有个服务器photo,你host指向www.photo.com 然后你访问我的网站,我在页面里加一个canvas,不停的扫www.photo.com/images下的图片,扫到就drawimg,再toDaaURL发到我自己的后台,保存到我的服务器下,这样明显是不行的吧。 你不要问我怎么知道你的photo服务器,,我只是打个比方。。。
UEAnswer 2013-04-16
  • 打赏
  • 举报
回复
果然是,再次感谢,去掉了canvas中的别的服务器中的图片就可以了,但是具体这里涉及到了什么样的安全策略呢 ?希望能够得到详细点的解释,谢谢。
UEAnswer 2013-04-16
  • 打赏
  • 举报
回复
使得,canvas中使用了别的服务器里面的一张图片,是这个原因?我去试试看,非常感谢。
functionsub 2013-04-16
  • 打赏
  • 举报
回复
图片用的是别的服务器的图片吧。。。
UEAnswer 2013-04-16
  • 打赏
  • 举报
回复
自己day day up

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧