在我的 webview 上调用 didFinish 不起作用
Posted
技术标签:
【中文标题】在我的 webview 上调用 didFinish 不起作用【英文标题】:calling on didFinish does not work on my webview 【发布时间】: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
我在网上关注了一些示例,但没有一个适合我。
【问题讨论】:
【参考方案1】:在加载请求之前尝试设置 navigationDelegate
【讨论】:
以上是关于在我的 webview 上调用 didFinish 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
多个 WKWebView 实例的独立 webView didFinish WKNavigationDelegate 方法
在我的 webview 应用程序上调用虚拟方法 'int android.graphics.Bitmap.getWidth()' on an null object reference"