【问题标题】:calling on didFinish does not work on my webview在我的 webview 上调用 didFinish 不起作用
【发布时间】:2020-05-05 20:00:55
【问题描述】:

我是 IOS/Swift 的新手,我正在尝试监听 didFinish 事件,但它没有被调用

    class MyWebView: UIViewController, WKScriptMessageHandler, WKNavigationDelegate {

    public var baseController : UIViewController?

    var linkOptions = [String: String]()


    @IBOutlet var web: WKWebView!

    override func loadView() {
        super.loadView()
        web.configuration.userContentController.add(self, name: "jsMessageHandler")
        web.configuration.userContentController.add(self, name: "jsErrorMessageHandler")
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        let request = URLRequest(url: formatUrl())
        web.load(request)
        web.navigationDelegate = self
        web.addObserver(self, forKeyPath: "URL", options: .new, context: nil)
    }

    func web(_ web: WKWebView, didFinish  navigation: WKNavigation!)
    {
        print("---Hitted URL--->") // here you are getting URL
    }
}

我在网上关注了一些示例,但没有一个适合我。

【问题讨论】:

    标签: ios swift wkwebview


    【解决方案1】:

    在加载请求之前尝试设置 navigationDelegate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 2011-10-08
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多