Safari扩展程序如何截屏

5
我正在开发 Safari 浏览器扩展程序,需要包含截图功能。
Chrome 和 Firefox 都有自己的 API 可以截取当前窗口文档的屏幕截图。 但我无法找到任何针对 Safari 的特定/API 文档。 可以参考“窗口和选项卡”API
请问如何最好地实现这个功能?
1个回答

8

SafariBrowserTab有一个visibleContentsAsDataURL方法,可用于获取当前可见内容的图像数据。

例如,在全局页面中:

safari.application.addEventListener('command', performCommand, false);

// Perform e.g. when toolbar button is clicked
function performCommand(event) {
    if (event.command === 'captureTab') {
        var tab = safari.application.activeBrowserWindow.activeTab;
        tab.visibleContentsAsDataURL(function(imgdata) {
            //console.log(imgdata);
            // Do something...
            // e.g. Send to an injected script to display image on page:
            tab.page.dispatchMessage('imgData', imgdata);
        });
    }
}

谢谢。非常好用。对于那些需要方便参考的人,可以参考https://developer.apple.com/library/safari/documentation/UserExperience/Reference/SafariExtensionsReference/SafariExtensionsReference.pdf。 - Teoman shipahi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接