每当我尝试将简单图像源转换为数据URL时,就会出现安全错误异常

时间:2012-07-30 11:46:24

标签: javascript html5 canvas security

我正在开发一个移动应用程序广告项目,所以我需要制作应用程序映像的横幅或缩略图。应用程序列表将从谷歌播放和苹果商店发布。所以我的网站正在利用其他出站域而不是本地域。

我使用HTML 5 canvas元素来管理运行时功能并将整个画布保存为图像。我需要做的是根据用户的颜色偏好和字体颜色等制作默认横幅(保存画布后)。

我的画布编码如下:

<canvas id="myCanvas" name="myCanvas" width="300" height="100" style="border:1px solid;margin-top: 25px;margin-left: 73px;margin-bottom: 12px;background: -moz-linear-gradient(top,  #4c4e54,  #4c4e54);"></canvas>

我用来将简单URL转换为数据URL的js是:

 var myCanvas = document.getElementById("myCanvas");
 var canvasData = myCanvas.toDataURL("image/png");

这里发生的事情是,每当我尝试使用数据保存整个canvas元素时:mozilla fiefox会给我以下错误:

Security error
[Break On This Error]   
var canvasData = myCanvas.toDataURL("image/png");

我搜索了很多帖子和论坛,但没有人为此提供适当的解决方案。

花了很多时间,但给我造成了很大的破坏。

任何建议都将受理

提前完成任务......

1 个答案:

答案 0 :(得分:1)

我已经阅读了你的帖子,我发现的是我面临的同样问题。

您收到此错误的原因是您的应用程序提取的图片来自实时google.play服务器或Apple商店服务器。

每当我们使用canvas时,安全性都是必不可少的。安全性是画布的一大特色。

你正在做的是你只是获取图像并在画布上调整大小并实现它。由于安全功能,它不允许你操纵出站服务器的图像并将其保存在你的数据库中。

您可以在控制台中使用allow-file-access-from-files以及firefox.exe命令并进行检查。

相关问题