Следующий код показывает, как вызывать 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, чтобы представление было Javascript?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


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