Как использовать 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})

Спасибо за любые предложения.

0 ответов

Другие вопросы по тегам