在Firefox和Safari上截取屏幕截图(使用他们的API或Canvas代码)

时间:2013-05-13 16:23:40

标签: firefox safari screenshot

我一直在处理为Firefox和Safari浏览器截取屏幕截图,但我无法弄清楚如何做到这一点!使用Google Chrome API,我可以这样做(非常简单):

chrome.tabs.captureVisibleTab(null, null, function (image)).....etc

但是我无法在Firefox和Safari上找到一种简单的方法!我在这里得到的唯一答案是使用'html2canvas'(http://html2canvas.hertzen.com/examples.html)但是它不是100%的解决方案,以便获取特定网页的精确截图!在这种情况下它对我不起作用!!! 有人可以帮我解决这个问题,以便为Firefox和Safari找到一个简单的解决方案吗?

2 个答案:

答案 0 :(得分:1)

我个人使用过html2canvas,我发现它可以非常有效地获取部分或全页截图。但它确实需要您对JavaScript和客户端脚本的一些了解。

如果您正在寻找更简单的方法,Google Chrome网上商店会有很多扩展程序。 一个流行的是Awesome Screenshot,它甚至允许您截取整个网页的截图(直到滚动条结束)。

答案 1 :(得分:1)

您可以使用Mozilla的chrome工具将部分或全部窗口绘制到图像画布:

var c2d = myCanvas.getContext('2d');
c2d.drawWindow(window, x, y, w, h, 'rgb(255,255,255)');

请参阅drawWindow()XUL

我不记得确切,但这就是要点。神奇的是.drawWindow()方法,无法在内容方面执行,它必须位于具有chrome权限的区域(如加载项/扩展名)。

编辑:这是good example