将本地javascript注入UIWebView

Jam*_*mes 11 javascript objective-c uiwebview ios

有没有办法将存储在我的服务器上的本地JS文件或JS文件注入到由UIWebView加载的任何网页中?

假设我在该UIWebView中导航到google.com,它会呈现该页面并运行我的JS文件(本地或我的网络服务器)?

She*_* Lo 18

以下代码将在本地注入javascript

- (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];
}
Run Code Online (Sandbox Code Playgroud)

只需在js之前传入文件名,例如.

[self injectJavascript:@"script"];
Run Code Online (Sandbox Code Playgroud)

要从服务器注入javascript,您可以先下载它,然后以类似的方式将其加载到Web视图中.