我按照这个例子来检索swift中的DOM元素:https://www.hackingwithswift.com/example-code/wkwebview/how-to-run-javascript-on-a-wkwebview-with-evaluatejavascript
wkWebView.evaluateJavaScript("document.body.offsetHeight") { (result, error) in
if error != nil {
print(result)
} else {
print(error ?? "Error")
}
}
但我得到了这个错误:
nil
Error
App(28447,0x137b3bc40) malloc: *** error for object 0x170b9140:
pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
如果我只是做一个控制台日志并在safari中检查它可以正常工作:
wkWebView.evaluateJavaScript("console.log('Hello World!')")
Hello World!
答案 0 :(得分:1)
你的错误是零。你实际上得到了结果。
将“!=”更改为“==”
或更改整行:
if error != nil {
到
if result != nil {