Как использовать webView.evaluateJavaScript в Swift
Мне нужен мой быстрый класс для взаимодействия с html и javascript в wkwebview, на который он ссылается, в частности, для подачи ему переменной.
Я думал, что начну просто с попытки заставить веб-просмотр что-то получить, используя getElementByID, следуя приведенному здесь коду. Однако это не работает.
Вот код:
HTML file
<div id="username">@twostraws</div>
Swift File
let webView = WKWebView()
override func viewDidLoad() {
super.viewDidLoad()
if let url = Bundle.main.url(forResource: "myHTML", withExtension: "html") {
webView.loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent())
}
webView.evaluateJavaScript("document.getElementById('username').innerText") { (result, error) in
if let result = result {
print("what is in div",result)
}
else {
print("didn't find it")
}
}
override func loadView() {
self.view = webView
}
Веб-просмотр загружается, однако с помощью AssessmentJavascript ничего не получается.
Редактировать:
Это сообщение об ошибке:
A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=TypeError: null is not an object (evaluating 'document.getElementById('username').innerText'), WKJavaScriptExceptionColumnNumber=32, WKJavaScriptExceptionSourceURL=about:blank, NSLocalizedDescription=A JavaScript exception occurred})
Спасибо за любые предложения.