阻止WKWebView提交

时间:2017-03-05 03:52:29

标签: 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检查加载请求,以便我可以执行某些操作。这是可能的,我有什么类型的选择才能实现这一目标?谢谢!

1 个答案:

答案 0 :(得分:0)

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

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