【问题标题】:Capture screenshot of web page in safari app extension在 Safari 应用程序扩展中捕获网页的屏幕截图
【发布时间】:2019-04-10 12:43:31
【问题描述】:
我正在将旧版 Safari 扩展程序转换为 Safari 应用程序扩展程序,这里是 a link
我的旧扩展使用 safari.application.activeBrowserWindow.activeTab.visibleContentsAsDataURL 函数来捕获活动选项卡的屏幕截图,我如何使用 Safari 应用扩展来做到这一点?请帮忙。
【问题讨论】:
标签:
safari
safari-app-extension
【解决方案1】:
以下是获取网页截图的步骤
1) 使用 safari.extension.disptachMessage 从注入的脚本向应用扩展发送消息
2) 将调用 SafariExtensionHandler 类中的以下方法。
func messageReceived(withName messageName: String, from page: SFSafariPage, userInfo: [String : Any]?)
3) 可以使用上述函数中的“page”参数进行截图。
page.getScreenshotOfVisibleArea { (NSImage)
}
NSImage是网页截图
请记住,您只能获取网页当前可见区域的屏幕截图,而不是整个页面。