[self.webview stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"myfunc('%@')",string]];
上面的代码工作得很好,绝对没有问题,但只有当我的javascript方法出现在我正在加载的页面中时。但是如果在任何外部js文件中引用js方法它没有被触发,这就是我加载页面的方式
[self.webview loadRequest:[[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://example/mypage.html"]]];
提前致谢
答案 0 :(得分:1)
为了确保在页面完全加载后只调用你的javascript函数,你必须在webViewDidFinishLoad:
实现中调用它。
所以,例如:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"myfunc('%@')",string]];
// Do any additional stuff
}