当使用WKWebView时,我如何在中捕获重定向url,比如在提交用户名和密码或其他数据时,网页重定向到另一个页面.我需要捕获重定向的url.WKNavigationDelegate中是否有要重写的方法?

推荐答案

使用这个方法

public func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Swift.Void) {
        if(navigationAction.navigationType == .other) {
            if let redirectedUrl = navigationAction.request.url {
                //do what you need with url
                //self.delegate?.openURL(url: redirectedUrl)
            }
            decisionHandler(.cancel)
            return
        }
        decisionHandler(.allow)
    }

希望这有帮助

Swift相关问答推荐

操作员如何点逻辑非(.!)在Swift工作?

如何防止自动状态恢复,如果应用程序被启动打开特定的文档?

Swift C外部实现的Task / Future类类型

修改数组中每个类实例的属性

如何在SWIFT Memory中处理对VAR数组的更新(对COW感到困惑)

在Swift中,将秒设置为0也等于将1添加到分钟

Swift 扩展:通过方法重载增强现有类

计算 CoreData 中所有唯一对象的数量?

Swift计时器未触发

使用UICollectionViewFlowLayout创建水平的UICollectionView,并同时将单元格对齐到左边和右边的能力

为什么自定义串行队列的目标是全局队列时,Swift中不会并发执行?

我怎样才能缩短(提高效率)这段代码?

swift 是否遇到 Java 的 2gb 最大序列化大小问题?

`let case(value)` 和 `case(let value)` 之间的区别 (Swift)

SwiftUI Grid 中的数组旋转

如何使被拖动的对象成为前景(foreground)对象

无法分配给属性:self 是不可变的,我知道如何修复但需要理解

如何在 Swift 中遍历 struct 属性?

为 UIImagePicker 设置委托返回错误

swift 中的@property/@synthesize 类似功能