2011-06-05 74 views
5

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

+0

一些示例代码可以帮助你找到https://addons.mozilla.org/en-us/firefox/addon/tab-preview/ – MatrixFrog 2011-06-05 23:30:06

回答

5

做到这一点的样本扩展下面是Firefox的一个片段。在您的覆盖XUL补充:

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

然后在你覆盖的javascript,listen for new document loads这个片段将截图保存到一个文件:

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然后在本地坚持。