消息处理程序在iOS 9中的WKWebView中不起作用

问题描述 投票:0回答:1

我创建了一个使用WKWebView显示HTML页面的应用程序。我嵌入了一个调用javascript函数的按钮,将消息发布到我的代码中。这在iOS 12上完美运行,但是当我为iOS 9调试它根本不起作用。消息处理程序不会被调用。

我已经尝试了几种不同的方法来使这个工作适用于iOS 9,但似乎没有任何工作。

这是我的快速代码:

let config = WKWebViewConfiguration()
let content = WKUserContentController()

content.add(self, name: "callback")
config.userContentController = content

page = WKWebView(frame: self.WKBaseView.bounds, configuration: config)

这是我处理消息的方式:

func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {

        dump(message.body)

}

这就是我从JS那里得到的:

try {
      webkit.messageHandlers.callback.postMessage("test");
    } catch(err) {
      console.log('Can not reach app');
    }

由于这在iOS 12上完美运行,这是iOS 9中的错误还是有其他方法可以实现这一点?

javascript swift ios9 wkwebview
1个回答
0
投票

我解决了这个问题。原来这是一个JavaScript错误。显然iOS <12在声明变量时不支持“let”。

© www.soinside.com 2019 - 2024. All rights reserved.