Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Inject a local javascript into UIWebView

Is there a way to inject a local JS file or a JS file that's store on my server into any web page loaded by UIWebView?

Say I navigate to google.com in that UIWebView, it renders that page and also runs my JS file (local or on my webserver)?

like image 813
James Avatar asked Sep 05 '11 20:09

James


1 Answers

The following code will inject javascript locally

- (void)injectJavascript:(NSString *)resource {
    NSString *jsPath = [[NSBundle mainBundle] pathForResource:resource ofType:@"js"];
    NSString *js = [NSString stringWithContentsOfFile:jsPath encoding:NSUTF8StringEncoding error:NULL];

    [self.webView stringByEvaluatingJavaScriptFromString:js];
}

Just pass in the name of the file before the js, eg.

[self injectJavascript:@"script"];

To do inject javascript from your server you can download it first and load it into the web view in a similar manner.

like image 60
Sherman Lo Avatar answered Sep 17 '22 11:09

Sherman Lo