小编Yes*_*bet的帖子

在javascript中调用原生swift函数

很抱歉,如果这个问题已经被问过,但我能找到的所有答案都是复杂的解决方案。

我有一个viewController,即webView。我将WKWebView, 添加到 WebKit 库的视图中,并打开简单的 url。在我的 ViewController 内部,我有一个名为 的本机函数showAd。当用户按下用 javascript 实现的按钮时,它会显示 call showRewardsAd。我将断点设置为 userContentController,但是它永远不会到达那里。

func showAd(){
   print("invoked")
}
extension WFWebViewController: WKScriptMessageHandler{
    func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
        if message.name == "showRewardsAd"{
            self.showRewards()
            webView.evaluateJavaScript("test", completionHandler: nil)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的目标是简单地允许从 javascript 部分调用此函数。据我所知,如果我想在 swift 中调用 javascript 函数,我只需说:

 webview.addJavascriptInterface('javascript: function_name();')
Run Code Online (Sandbox Code Playgroud)

然而,就我而言,我想以相反的顺序进行。在 Javascript 代码中调用 swift 函数。

javascript webkit ios swift

5
推荐指数
1
解决办法
4461
查看次数

标签 统计

ios ×1

javascript ×1

swift ×1

webkit ×1