swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.2注入JavaScript

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.2注入JavaScript相关的知识,希望对你有一定的参考价值。

function sayHelloTo(name) {
  alert(`Hello ${name}`)
}

function sayHelloWithRtnValue (name) {
  return `hello ${name}`
}
extension ViewController: UIWebViewDelegate {
  func webViewDidFinishLoad(_ webView: UIWebView) {
    do {
      // 加载、注入 file.js 
      let path = Bundle.main.path(forResource: "file", ofType: "js")
      let pathURL = URL(fileURLWithPath: path!)
      let jsString = try String(contentsOf: pathURL, encoding: String.Encoding.utf8)
      webviewBrowser.stringByEvaluatingJavaScript(from: jsString)
      
      // 调用其中的方法:
      webviewBrowser.stringByEvaluatingJavaScript(from: "sayHelloTo('Lien')")
      let rtnValue = webView.stringByEvaluatingJavaScript(from: "sayHelloWithRtnValue('Lien')")!
      print("returned value from JavaScript: \(rtnValue)")
    }
    catch {
      print("Fail injecting JavaScript")
    }
  }
}

以上是关于swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.2注入JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:11。暴露

swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:8。调用引入的JavaScript - 调用

swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:7。调用引入的JavaScript - 引入方法

swift 笔记:iOS与JavaScript的交互(三):WKWebView 2.显示加载进度

swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:14。 camelCase调用

swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.1 UIWebViewDelegate