可可斯威夫特:错误评估JavaScript可选(“发生JavaScript异常”)

Posted

技术标签:

【中文标题】可可斯威夫特:错误评估JavaScript可选(“发生JavaScript异常”)【英文标题】:Cocoa Swift: Error evaluateJavaScript Optional("A JavaScript exception occurred") 【发布时间】:2019-04-17 21:23:55 【问题描述】:

我正在加载带有网页的 WKWebView,并且我正在尝试执行 javascrip:

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)  
     webView.evaluatejavascript("document.getElementById('someElement').innerText")  (result, error) in
        if error != nil 
            print(error?.localizedDescription ?? "")
        
    

但是我收到了这个错误:

po error
▿ Optional<Error>
  - some : Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo=WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=TypeError: null is not an object (evaluating 'document.getElementById('someElement').innerText'), WKJavaScriptExceptionColumnNumber=39, WKJavaScriptExceptionSourceURL=https://somewebsite.com/, NSLocalizedDescription=A JavaScript exception occurred

为什么我会收到此错误?,你们中的任何人都知道我做错了什么或解决此问题的方法吗?

【问题讨论】:

您能否只打印error 而不是error.localizedDescription?您正在向自己隐藏详细信息! @Sulthan 我已经更新了错误。如果您还需要什么,请告诉我 null is not an object 很明显。这意味着没有给定标识符someElement 的元素(方法getElementById 返回null)。确保您已正确键入标识符并且它确实存在于文档中。 【参考方案1】:

document.getElementById() 如果找不到元素,则返回 null。所以我认为网页中没有“someElement”名称。

【讨论】:

以上是关于可可斯威夫特:错误评估JavaScript可选(“发生JavaScript异常”)的主要内容,如果未能解决你的问题,请参考以下文章

swift 斯威夫特的可可伐木工人可以轻松地工作。

斯威夫特 3;用非可选字符串附加可选字符串

JavaScript 短路评估错误?

JavaScript IF 语句错误地评估 TRUE - 为啥?

初始评估JavaScript()调用后的PyQt4 QWebview错误

是啥意思?斯威夫特的意思