javascript - 如何在 swift UIWebView 中获取 javascript 函数?

标签 javascript ios swift uiwebview

我使用 UIWebView 来显示简单的网页。这个网络触发了 JavaScript 函数,我必须知道它们何时触发。 我的问题:如何使用 UIWebView 在 swift 代码中获取 javaSctipt?

最佳答案

正如 beyowulf 提到的,您可以使用 WKWebView 来做到这一点。如果您需要使用 UIWebView,这里有一个选择...这可以让您定义一个绑定(bind)到 javascript 的 console.log() 的函数

func webViewDidFinishLoad(webView: UIWebView) {   
    let logFunction: @convention(block) (String) -> Void = { (msg: String) in
        print("JS Console: \(msg)")
    }

    let context = webView.valueForKeyPath("documentView.webView.mainFrame.javaScriptContext") as! JSContext
    context.objectForKeyedSubscript("console").setObject(unsafeBitCast(logFunction, AnyObject.self), forKeyedSubscript: "log")
}

关于javascript - 如何在 swift UIWebView 中获取 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37037689/

相关文章:

ios - 获取用户的通知设置

json - 如何使用 Swifty 动态创建具有多个键和值的 json 对象

javascript - GWT 编译器是否会减少外部库中未使用的 JavaScript 代码?

javascript - 如何避免 Nest.Js/Node.Js 进程占用 100% 的 CPU?

javascript - 如何在react.js中向变量名添加另一个变量值

ios - fetchAssetCollectionsWithType 仅检索视频

javascript - 如何将 onchange 绑定(bind)到每个单选按钮组

ios - 如何更改选中和未选中的选项卡栏图像颜色

iOS:TableView 中的多个部分不起作用

ios - 在大量计算期间如何使屏幕停止卡住?