1

我正在做一个移动应用程序广告项目,所以我需要制作应用程序图像的横幅或缩略图。应用程序列表来自 google play 和 apple store。所以我的网站正在使用其他出站域而不是本地域。

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

我的画布编码如下:

<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");

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

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

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

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

任何建议都会被接受

提前谢谢....

4

1 回答 1

1

我已阅读您的帖子,发现与我面临的问题相同。

您收到此错误是因为您的应用程序获取的图像来自实时​​ google.play 服务器或苹果商店服务器。

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

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

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

于 2012-07-30T12:27:30.403 回答