UIWebView与WebView Javascript注入

UIWebView与WebView Javascript注入,javascript,ios,objective-c,uiwebview,Javascript,Ios,Objective C,Uiwebview,我试图通过stringByEvaluatingJavaScriptFromString在iPhone上执行javascript, 我做了剧本 function execute() { //dosent matter alert('works'); } execute(); 在safari的开发人员控制台中使用此脚本时效果良好 但这样做: [self.webView1 stringByEvaluatingJavaScriptFromString:@"javascript: functi

我试图通过stringByEvaluatingJavaScriptFromString在iPhone上执行javascript, 我做了剧本

function execute() {
//dosent matter 
alert('works');
}
execute();
在safari的开发人员控制台中使用此脚本时效果良好

但这样做:

[self.webView1 stringByEvaluatingJavaScriptFromString:@"javascript:     function execute() { alert('works');}execute();"];
Dosent工作,我没有看到警报,我也尝试了没有“javascript:”

这很让人困惑,因为我使用stringByEvaluatingJavaScriptFromString成功,但没有使用函数声明

  [self.webView1 stringByEvaluatingJavaScriptFromString:@"alert('check');"];

工作正常

如果有人在寻找答案,我注意到,如果不将某些函数放入file.js中,然后使用以下命令执行,它们将无法正常工作:

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

    [self.webView1 stringByEvaluatingJavaScriptFromString:js];
}

是的,您应该在HTML文件中编写JS代码。