1
[self.webview stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"myfunc('%@')",string]];

上面的代码工作得很好,绝对没有问题,但只有当我的 javascript 方法出现在我正在加载的页面中时。但是,如果在任何外部 js 文件中引用了 js 方法,它就不会被触发,这就是我加载页面的方式

       [self.webview loadRequest:[[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://example/mypage.html"]]];

提前致谢

4

1 回答 1

1

为了确保只有页面完全加载后才会调用您的 javascript 函数,您必须在webViewDidFinishLoad:实现中调用它。

因此,例如:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"myfunc('%@')",string]];
    // Do any additional stuff
}
于 2013-05-09T16:11:07.930 回答