如何从 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 4 调用贝宝 javascript 函数

如何使用从 Swift 代码调用的线程在 C++ 上创建异步调用函数?

从使用 wkwebview 返回值的 javascript 调用 swift 函数

如何从函数调用 Jquery 打开模态