I have a UIWebView component that is going to load a webpage which might contain JavaScript. I want to run some JavaScript of my own before any JavaScript on the loaded webpage runs. I know I can use [myWebView stringByEvaulatingJavaScriptFromString:]
on the webViewDidFinishLoad:
delegate of the UIWebView
, however this will only run my JavaScript after the JavaScript on the webpage is run.
Is the only solution to inject my JavaScript into the source code of the webpage? For example, I would put it immediately after the <head>
tag to insure it is the first JavaScript that is run.
Best Solution
I would like an answer to this question as well. I can get it to work for the initial loading of the page by putting
[myWebView stringByEvaluatingJavaScriptFromString: js]
insidewebViewDidStartLoad
. On refresh, however, it does not appear to work.Edit: I found this work-around (similar to the suggestion in your question.) Not sure how robust it is. http://www.stevesaxon.me/posts/2011/window-external-notify-in-ios-uiwebview/