将数据从JavaScript传递到Swift。UserContentController函数从未调用过,这是一个问题
我被卡住了,函数“userContentController”从未调用过。 用户内容控制器功能将数据从JavaScript传递到Swift。UserContentController函数从未调用过,这是一个问题,javascript,ios,swift,uivewcontroller,Javascript,Ios,Swift,Uivewcontroller,我被卡住了,函数“userContentController”从未调用过。 用户内容控制器功能 func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { print("Function Called") let showData = message.body as? String
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
print("Function Called")
let showData = message.body as? String
print(showData ?? "No Value received")
}
viewDidLoad
super.viewDidLoad()
let configuration = WKWebViewConfiguration()
configuration.userContentController.add(self, name: "send")
let rect = CGRect(x: 0, y: 0, width: 100, height: 100)
let wweb = WKWebView(frame: rect, configuration: configuration)
if let filePath = Bundle.main.url(forResource: "Script", withExtension: "html") {
let request = NSURLRequest(url: filePath)
wweb.load(request as URLRequest)
}
}
剧本
window.webkit.messageHandlers.send.postMessage(“来自JavaScript的地狱”);
尝试在脚本中传递字典而不是字符串
例如:
Swift中的window.webkit.messageHandlers.send.postMessage({“body”:“Hell from JavaScript”})?国家统计局字典;让str=dict?[“body”]as?一串
<html>
<script>
window.webkit.messageHandlers.send.postMessage("Hell from JavaScript");
</script>
<!--<h1><script src="http://scripts.myradiostream.com/s33/14866/status.js?online=BU RADiO OnAir&offline=BU RADiO OffAir&nosource=BU RADiO Coming OnAir Soon"></script></h1>
-->
</html>