3

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

  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

当我将相同的脚本直接移动到后台页面时,它可以正常工作。

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

4

1 回答 1

7

这是一个错误,你应该报告它。更多测试表明,在 Chrome 28.0.1498.0 中,Image构造函数不会创建有效HTMLImageElement实例(如下面的屏幕截图所示)。
此代码在内容脚本的上下文中运行。相同的代码在常规页面和扩展进程(背景页面)中运行良好。

要解决此问题,请使用document.createElement('img')而不是new Image().

.appendChild(new Image()) 错误:NotFoundError:DOM 异常 8

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

于 2013-05-04T19:46:43.987 回答