在chrome扩展内容脚本中使用canvas drawImage

时间:2013-05-04 18:05:00

标签: google-chrome-extension

我正在尝试在Chrome扩展程序的注入内容脚本中使用Canvas Context上的drawImage

  testCanvas = document.createElement('canvas');
  testContext = testCanvas.getContext('2d');
  var image = new Image();
  testContext.drawImage(image, 0, 0);

在Chrome 26中,它运行正常,但在开发频道(Chrome 28)中,当我收到此消息时,此接缝断开:

Uncaught TypeError: Type error

当我将相同的脚本直接移动到后台页面时,它没有任何问题。

我认为这可能与某些与安全相关的更改有关,但我找不到任何相关信息。

1 个答案:

答案 0 :(得分:7)

这是一个错误,你应该报告它。更多测试显示,在Chrome 28.0.1498.0中,Image构造函数未创建有效的HTMLImageElement实例(如下面的屏幕截图所示)。
此代码在内容脚本的上下文中运行。相同的代码在常规页面和扩展程序(后台页面)中工作正常。

要解决此问题,请使用document.createElement('img')代替new Image()

.appendChild(new Image()) Error: NotFoundError: DOM Exception 8

不要忘记在https://code.google.com/p/chromium/issues/list报告错误。