2017-03-05 104 views
0

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

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

总体我期待在提交之前检查基于URL的加载请求,以便我可以执行一些操作。这是可能的,我有什么类型的选择来完成这个?谢谢!

回答

0

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

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