ios - 阻止 WKWebView 提交

标签 ios swift

我正在使用带有 Swift 3 的 WKWebView 来显示我想要保存状态的内容。 (IOS本身不可能)See for Reference 。我的想法之一是将 webview 的当前状态克隆到隐藏的 webview,但是根据 apple documentation没有预提交函数,但是有一个策略函数可以调用,如下所示

    func webView(WKWebView, decidePolicyFor: WKNavigationAction, 
      decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
      //Decides whether to allow or cancel a navigation.

总的来说,我希望在提交之前根据 URL 检查加载请求,以便我可以执行一些操作。这可能吗?我必须采取什么类型的选择才能实现这一目标?谢谢!

最佳答案

我没有发现可以做到这一点的方法,但让我告诉你我最终做了什么。

在 JavaScript 方面,我首先阻止传播并检测所有设备是否是 WKWebView。如果是,我将 JavaScript 发送给 Swift,告诉它在新的 WKWebView 中打开。我将 WKWebView 放在与第一个容器相同的容器中。我隐藏了另一张,这样我最终就可以返回并展示这张。

关于ios - 阻止 WKWebView 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604325/

相关文章:

ios - NSURL 实现的 UITableView 上的 GCD

ios - 动画不会在 UITableView 的 backgroundView 上被杀死

swift - 避免使用样板代码在 viewDidLoad 中设置 UI

ios - 如何通过 AppDelegate 升级使功能可用于大于 8 的 iOS

objective-c - 如何获取 SCNNode 相对于设备引用的坐标?

ios - XCode UITests 替代.StaticText

javascript - 清除 iOS 6 <input type=file> 图像缩略图

iphone - 将 UIViewController 传递给另一个 ViewController 中的另一个 Button

ios - 如何确保生成的随机数不等于下一个生成的数?

ios - 是否可以将 SwiftUI 列表项文本选择性地设置为常见问题解答部分的粗体?