Как вызвать функции jquery из Swift? - PullRequest
1 голос
/ 05 июля 2019

В следующем коде показано, как вызвать 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 Ответ

3 голосов
/ 05 июля 2019

Документ относится к объектной модели документа или DOM. Поскольку ваш вид Swift не является веб-страницей, DOM отсутствует, поэтому он не определен. Я думаю, что вы можете вызывать функции Javascript из Swift, но как только функция Javascript использует DOM и манипулирует HTML в DOM, я думаю, что именно здесь у вас будут проблемы в Swift.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...