我试过没有运气在stackoverflow上实现其他代码。我正在WKWeview中评估javascript,并希望在内容完全加载后进行侦听,以便在加载的页面上执行语句。

Javascript :(未执行func webView)

webView.evaluateJavaScript("_formHist.submit();", completionHandler: nil)


到目前为止,我尝试过使用的代码:(仅在某些页面上有效)

    func webView(_ webView: WKWebView,
    didFinish navigation: WKNavigation!) {
    //insert code
    }


我是iOS开发的新手,所以请尽可能详细地解释答案!

最佳答案

_formHist如何定义?

如果尚未将其定义为javascript对象,则将无法使用。

除此之外,在执行代码时页面可能未完全加载,因此您可能需要侦听页面完全加载时触发的事件

如果您引用此answer,它将告诉您可以使用以下方法确定页面何时已完全加载

document.addEventListener("DOMContentLoaded", function(event) {
  //do work
});


因此,对于您的情况,您只需要使用此事件侦听器

webView.evaluateJavaScript("document.addEventListener("DOMContentLoaded", function(event) { _formHist.submit(); });", completionHandler: nil)


试试看,看看是否可行

关于swift - WkWebkiew完成页面加载后如何收听?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54036119/

10-09 07:01
查看更多