【问题标题】:Return JavaScript value in Swift在 Swift 中返回 JavaScript 值
【发布时间】:2018-02-14 19:01:35
【问题描述】:

我需要通过执行 JavaScript 在 Swift 中返回一个值,但是我遇到了麻烦,我到处搜索,但找不到任何有效的东西。为了执行 JavaScript,我正在使用

webby.evaluateJavaScript("document.querySelector(\"pre\").innerText;")

(Webby 是 web 视图的名称) JavaScript 返回一个字符串,我想在 Swift 中访问它。我将如何做到这一点?谢谢。

【问题讨论】:

  • 如果您使用引号中的 JavaScript:document.querySelector(\"pre\").innerText 并在 JavaScript 中运行它,它不会做任何事情。也许你需要一个return 声明之前return document.querySelector(\"pre\").innerText

标签: javascript swift macos wkwebview javascriptcore


【解决方案1】:

要访问您必须向evaluateJavaScript 提供完成处理程序的值,请参阅docs

webby.evaluateJavaScript("<your code goes here>") { result, error in
  if let result = result {
    // your result handling goes here
  }
}

【讨论】:

  • 尝试返回一个虚拟值以查看您的设置是否有效,例如"return 'foo'"。如果你在你的处理程序中得到foo,你就知道问题出在你的JS代码中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
  • 1970-01-01
  • 1970-01-01
  • 2021-07-05
相关资源
最近更新 更多