javascript - Chrome : Tainted canvases may not be exported; Offline-only app

标签 javascript google-chrome firefox html5-canvas

此问题与该主题的许多现有问题类似,但并不完全相同,包括 Tainted canvases may not be exported .

我正在编写一个仅离线应用程序,该应用程序必须保持这种状态并且无法使用本地网络服务器。有没有办法绕过 Canvas 上的 CORS 检查,以便将数据复制回基础图像。

<小时/>

这是我正在尝试的代码示例:

var c1 = document.getElementById("tmp1");
var ctx1 = c1.getContext('2d');
var tmpImg1 = document.getElementById("tmpimg1");
ctx1.drawImage(img1, 0, 0, 150, 150);     
tmpImg1.src = c1.toDataURL();
<小时/>

Chrome 的错误消息如下:

Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

<小时/>

在仅离线的情况下,有哪些可用选项仍具有相同的最终结果?

最佳答案

您可以将所有 img.src 指定为内联 Base64 编码的 URL。

img.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAA ..."

这样,所有的 imgs 都是您应用程序的本地镜像,并且 CORS 得到满足。

关于javascript - Chrome : Tainted canvases may not be exported; Offline-only app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38275740/

相关文章:

javascript - 删除表中的列 javascript

css - 下拉 CSS 导航在 Firefox 中不起作用

Selenium Firefox - 浏览器处于远程控制之下

javascript - @page 指令 (CSS) 值可以从代码隐藏 (C#) 或 javascript 更改吗?

提交按钮上的 javascript 验证

javascript - 在 JavaScript 中引用和调用方法

javascript - 如何在 chrome 上更改不安全(http)网站的站点设置?

javascript - 如何在每个页面请求时发送 ajax 调用,并使用 ajax 调用的结果对 DOM 进行更改?

android - 在 Android Chrome 中,Web Speech API TTS 无法正常工作 - 未调用边界事件函数

javascript - 使用为域设置的 session cookie 启动 Firefox