将一个本地JavaScript注入到UIWebView中

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

说我在该UIWebView导航到google.com,它呈现该页面,也运行我的JS文件(本地或我的networking服务器)?

以下代码将在本地注入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]; } 

只要通过js之前的文件名称,例如。

 [self injectJavascript:@"script"]; 

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

想完成谢尔曼的答案 。 Xcode将* .js文件定义为源代码,并将其添加到项目首选项中的“编译源代码”中,因此当您尝试在mainBundle中获取pathForResource时,objc返回nil。 要解决这个问题,您必须将JavaScript文件添加到项目首选项中的“Build Phases”>“Copy Bundle Resources”。 希望今天能面对这个问题会有所帮助。