如何从 Swift 调用 jquery 函数?
Posted
技术标签:
【中文标题】如何从 Swift 调用 jquery 函数?【英文标题】:How to call jquery functions from Swift? 【发布时间】:2019-07-04 23:04:33 【问题描述】:以下代码是如何从Swift
调用javascript
函数
if let jsSourcePath = Bundle.main.path(forResource: "js-s-rc", ofType: "js")
do
let jsSourceContents = try String(contentsOfFile: jsSourcePath)
self.jsContext.evaluateScript(jsSourceContents)
catch
print(error.localizedDescription)
我想我可以为jquery
做类似的事情。我有一个与上面相同的代码块,唯一的区别是我指定了官方的jquery
库来评估。
但是,当我尝试评估 jquery.js
时出现以下错误。
TypeError: undefined is not an object (evaluating 'document.createElement')
为什么document.createElement
解析为undefined
?我是否需要修改jsContext
所属的类,使视图成为WKWebView
?
【问题讨论】:
【参考方案1】:Document 指的是文档对象模型或 DOM。由于您的 Swift 视图不是网页,因此没有 DOM,所以这就是它未定义的原因。我认为您可以从 Swift 调用 Javascript 函数,但是一旦 Javascript 函数依赖于 DOM 并在 DOM 中操作 html,我认为这就是您在 Swift 中遇到问题的地方。
【讨论】:
以上是关于如何从 Swift 调用 jquery 函数?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 react native 调用 swift native 函数?
如何使用 JavaScriptCore 从 Swift 中的 javascript SDK 调用异步 javascript 函数
如何使用从 Swift 代码调用的线程在 C++ 上创建异步调用函数?