5

有没有人有关于为 Firefox 和/或 Chrome 创建一个简单的屏幕截图插件的好教程?

4

3 回答 3

5

这是 Firefox 的一个片段。在您的叠加 XUL 添加:

    <html:canvas id="my-canvas" style="display: none;" />

然后在您的覆盖 javascript 中,监听新的文档加载,此代码段会将屏幕截图保存到文件中:

    var canvas = document.getElementById('my-canvas');
    var context = canvas.getContext('2d');

    //Find the window dimensions
    canvas.height = doc.defaultView.innerHeight; //doc is the content document that you listened for
    canvas.width = doc.defaultView.innerWidth;

    context.drawWindow(doc.defaultView, 0, 0, canvas.width, canvas.height, "rgba(0,0,0,0)");

    //Create a data url from the canvas
    var dataUrl = canvas.toDataURL("image/png");

阅读有关 nsiIOService 和 nsiWebBrowserPersist 以从数据 url 创建一个 nsiURI,然后将其保存在本地。

于 2011-06-06T16:58:51.987 回答
2

有一个关于如何使用 Chrome 执行此操作的示例扩展http://code.google.com/chrome/extensions/dev/samples.html#e1697cacebad05218798bf3e8a0f724517f0e8c3

于 2011-06-05T22:55:40.363 回答
1

不确定 Firefox,但在 Chrome 扩展程序中,您可以使用 捕获一个选项卡chrome.tabs.captureVisibleTab(),这将返回Data URI格式的图像。之后,如果需要,您将能够使用Canvas元素操作图像。

于 2011-06-05T22:52:34.327 回答