在Safari应用扩展程序中捕获网页的屏幕截图

时间:2019-01-11 10:09:53

标签: safari safari-app-extension

我正在将旧版Safari扩展程序转换为Safari应用程序扩展程序,这里是a link

我的旧扩展使用safari.application.activeBrowserWindow.activeTab.visibleContentsAsDataURL函数捕获活动选项卡的屏幕快照,我该如何使用Safari应用扩展?请帮忙。

1 个答案:

答案 0 :(得分:0)

以下是获取网页屏幕截图的步骤

1)使用safari.extension.disptachMessage将消息从注入的脚本发送到应用扩展

2)SafariExtensionHandler类中的以下方法将被调用。

func messageReceived(withName messageName: String, from page: SFSafariPage, userInfo: [String : Any]?) 

3)可以使用上述功能中的“ page”参数来截取屏幕截图。

page.getScreenshotOfVisibleArea { (NSImage)

}

NSImage是网页的屏幕截图

请记住,您只能获取网页当前可见区域而不是整个页面的屏幕截图。