WKWebview evaluateJavascript is not working, throws an error

Rogers Sampaio picture Rogers Sampaio · Jan 8, 2015 · Viewed 26.2k times · Source

I am trying to call an existent function from a remote site in a WKWebview:

function addtext (text) {
 jQuery("#webviewtest").html(text);
}

With:

[self.WebView evaluateJavaScript:@"addtext(\"This is a text from app\");" completionHandler:^(id Result, NSError * error) {
    NSLog(@"Error -> %@", error);
}];

But this is throwing an error:

Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo=0x170c788c0 {NSLocalizedDescription=A JavaScript exception occurred}

This is so simple! I am must missing something really stupid!

Answer

Rogers Sampaio picture Rogers Sampaio · Jan 9, 2015

Found a solution, it was simple as I was expecting, I was adding the javascript before the view complete load the content (before the Dom Ready). So I just had to move my code to the delegate method below:

I hope this helps someone.