[英]Safari app extension how to capture beforeNavigate event?
随着较早的safari扩展,我们有全球javascript来处理beforeNavigate事件,但新的safari应用程序扩展概念有没有办法在应用程序代码中捕获相同的事件?
我试过overiding beginRequest
但不知道如何在这里捕获url信息
override func beginRequest(with context: NSExtensionContext) {
//TODO:
}
您可以在safari app扩展中使用脚本文件,该脚本会在Safari中的页面加载之前自动注入。
该脚本从safari浏览器获取导航事件,然后脚本将事件提供给应用程序扩展,并且扩展通过以下方法处理此事件:
override func messageReceived(withName messageName: String, from page: SFSafariPage, userInfo: [String : AnyObject]!) {
page.getPropertiesWithCompletionHandler { properties in
NSLog("The extension received a message (\(messageName)) from a script injected into (\(properties?.url)) with userInfo (\(userInfo))")
}
}
注意:该事件包含您想要的网址信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.