对于Youtube页面,Canvas截图部分为空白

时间:2011-05-17 15:37:58

标签: canvas firefox-addon screenshot

我有一个Firefox附加组件,可以截取网页截图。它工作正常,除了在Youtube上:播放器没有出现在图像中,它是空白的。我注意到Firefox的所有屏幕截图附加组件都存在同样的问题,除了Fireshot。

屏幕截图是通过在页面上创建HTML画布来完成的:

var canvas = window.document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas');
canvas.width = width;
canvas.height = height;
canvas.style.width = canvas.style.maxwidth = width + "px";
canvas.style.height = canvas.style.maxheight = height + "px";
var context = canvas.getContext("2d");
context.save();
context.drawWindow(win, 0, 0, width, height, "rgb(255,255,255)");
context.restore();
var dataUrl = canvas.toDataURL('image/png');

我尝试过几件事,但他们没有什么区别:

  • 将wmode设置为opaque
  • 延迟截屏

其他网站上的其他Flash元素的屏幕截图,甚至其他网站上嵌入的Youtube视频都可以正常工作。

任何想法如何确保Youtube播放器都是图片的一部分?

1 个答案:

答案 0 :(得分:0)

将wmode设置为透明,而不是不透明。