处理javascript注入wkWebKit的响应

时间:2017-05-26 14:37:59

标签: swift safari

我按照这个例子来检索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!

1 个答案:

答案 0 :(得分:1)

你的错误是零。你实际上得到了结果。

将“!=”更改为“==”

或更改整行:

if error != nil {

if result != nil {