可可斯威夫特:错误评估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异常”)的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript IF 语句错误地评估 TRUE - 为啥?