我正在制作Mac应用,不幸的是必须依靠网页来获取特定信息。我可以通过调用WebView的委托
来加载正确的网页[sender setMainFrameURL:@"http://example.com/"];
然而,由于页面无法立即加载,它将继续使用该函数的其余部分,使后来的行像这样无用
[sender stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('example')"];
我知道我可以使用
- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
然而,这不是一个很好的解决方案,因为我将在不同的页面上寻找不同的信息。由于此功能无效,我也无法返回某些信息。我也不能只在webViewdidFinishLoadForFrame中输入if / else if语句:因为我可能希望通过不同的调用对同一页面执行不同的javascript函数。
有没有办法让函数调用setMainFrameURL:然后stringByEvaluatingJavaScriptFromString:背靠背并让javascript在正确的页面上执行? 感谢。