【问题标题】:Prevent WKWebView From Committing防止 WKWebView 提交
【发布时间】:2017-03-22 22:39:32
【问题描述】:

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

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

总的来说,我希望在提交之前根据 URL 检查加载请求,以便我可以执行一些操作。这是可能的吗?我必须使用什么类型的选项才能做到这一点?谢谢!

【问题讨论】:

    标签: ios swift


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多