1. 创建自己想要插入的脚本 ,我这里取名为 newslist.js
- (void)viewDidLoad
{
[super viewDidLoad];
_webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
_webView.delegate = self;
NSString *urlstring = @"http://baidu.com";
NSURL *url = [NSURL URLWithString:urlstring];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[_webView loadRequest:request];
[self.view addSubview:_webView];
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"newslist.js" ofType:nil];
// 如果jsString 为nil, 说明newslist.js 文件不在 Build Phases --> Copy Bundle Resources中, 需要手动添加进去
NSString *jsString = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = %@", jsString]];
NSString *message = @"菜鸟";
[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"self.onload('%@')", message]];
}
newslist.js脚本文件 中内容
self.onload = function(listnew){
var str = listnew + '也能编程';
alert(str);
}
效果图: