У меня есть надстройка 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 на непрозрачный
- задержка захвата экрана
Скриншоты других элементов Flash на других сайтах или даже видео с YouTube, встроенные в другие сайты, работают нормально.
Есть идеи, как сделать так, чтобы проигрыватель Youtube был частью картинки?