【问题标题】:WKWebView interacting with JS in swift3 crashed strangelyswift3中与JS交互的WKWebView异常崩溃
【发布时间】:2017-06-07 10:06:47
【问题描述】:

我有一个 viewController,我在其中创建了一个 WKWebView,这里是委托方法之一:

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {

    let model = SwiftJSModel()

    self.jsContext = webView.value(forKeyPath: "documentView.webView.mainFrame.javaScriptContext") as! JSContext

    model.jsContext = self.jsContext

    self.jsContext.setObject(model, forKeyedSubscript: "modelObject" as NSCopying & NSObjectProtocol)

}

但是,我的应用程序在加载此 webView 后会崩溃,控制台显示:

reason: '[<WKWebView 0x7fc41d9c7200> valueForUndefinedKey:]: this class is not key value coding-compliant for the key documentView.'

webView.value(forKeyPath: "documentView.webView.mainFrame.javaScriptContext") 好像在 swift3 中不起作用,有人知道为什么吗?

【问题讨论】:

  • 不一样的原因,我完全用代码创建了这个viewController。
  • 如果你注释了这个代码块,你的代码运行良好吗?
  • 是的,效果很好。如果我一步一步调试,遇到webView.value(forKeyPath: "documentView.webView.mainFrame.javaScriptContext") as! JSContext这一行会崩溃。

标签: ios swift webview


【解决方案1】:

似乎WKWebView 无法获取JSContext, 这是我找到它的地方:How to get JSContext from WKWebView

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2011-11-12
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    相关资源
    最近更新 更多