如何从Swift调用jquery函数?

时间:2019-07-04 23:04:33

标签: javascript jquery ios swift xcode

以下代码是如何从Javascript调用Swift

        if let jsSourcePath = Bundle.main.path(forResource: "jssrc", 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 个答案:

答案 0 :(得分:3)

Document是指文档对象模型或DOM。由于您的Swift视图不是网页,因此没有DOM,所以这就是未定义的原因。我认为您可以从Swift调用Javascript函数,但是一旦Javascript函数依赖DOM并在DOM中操作HTML,我认为这就是您在Swift中遇到问题的地方。