我正在使用带有 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/