这是我在
android中的功能:
@JavascriptInterface public boolean GetMobileVersion() { return true; }
这是JavaScript中的Calling函数:
$(window).load(function () { IsCallByMobileApp = false; try { IsCallByMobileApp = app.GetMobileVersion();/*Is call by android app*/ } catch (e) { IsCallByMobileApp = false; } }
在iOS中我尝试使用像这样的WKWebView实现相同的方法,但它不起作用:
func userContentController(_ userContentController: WKUserContentController,didReceive message: WKScriptMessage) { if(message.name == callbackhandler) { webView.evaluateJavaScript("GetMobileVersion();") { (true,error) in guard error == nil else { print("there was an error") return } print(Bool(true)) } } }
谁能告诉我如何发送真实的Javascript函数?请给我详细解答,因为我是iOS和Swift的新手.
不确定WKWebView是否与webview相同,但您可以尝试使用以下明文:
func userContentController(_ userContentController: WKUserContentController,didReceive message: WKScriptMessage) { if(message.name == callbackhandler) { webView.evaluateJavaScript("GetMobileVersion(true);") { (true,error) in guard error == nil else { print("there was an error") return } print(Bool(true)) } }
}