【发布时间】:2013-11-22 13:57:23
【问题描述】:
我正在开发一个 google chrome 扩展程序,我正在尝试将与扩展程序捆绑在一起的图像加载到画布中。
var canvas = document.createElement('canvas');
canvas.width = 470;
canvas.height = 470;
var context = canvas.getContext('2d');
var image = new Image();
image.addEventListener('load', function(){
//process
});
image.src = chrome.extension.getURL("asset/gotcha.png");
当我在内容脚本中执行代码时,我得到:
Unable to get image data from canvas because the canvas has been tainted by
cross-origin data.
有没有办法避免这种情况?我已经成功地将图像、音频、视频和 Flash 直接嵌入到目标站点中,没有任何这些问题。该资源列在清单文件中的 web_accessible_resources 下。
【问题讨论】:
-
get_url的定义是什么? -
get_url 是本地实用程序方法,它给我一个 chrome url ala chrome://1238901283908123098190/asset/gotcha.png
-
你为什么不使用 chrome.extension.getURL() ?上面的代码是从哪里运行的?
-
代码部署在三个不同的扩展系统/浏览器上,方法会处理不同的资源加载方式。
-
好的,我只想知道在 Chrome 上它会调用 chrome.extension.getURL()。另一个问题呢:代码从哪里运行(背景页、内容脚本、视图、注入网页)?
标签: javascript google-chrome canvas google-chrome-extension webgl