我有一个UIWebView
,一个页面有一个AJAX组件,当用户点击一个按钮时,其内容会发生变化。如何知道内容何时加载到UIWebView
?
答案 0 :(得分:3)
你需要做两件事:
在您的JavaScript代码中,使用自定义网址发出AJAX请求完成的XMLHTTPRequest
信号:
var req = new XMLHttpRequest();
req.open('GET', 'http://www.mozilla.org/', true);
req.onreadystatechange = function (aEvt) {
if (req.readyState == 4) {
if(req.status == 200) {
window.location = "myspecialurl:foo"
}
}
};
在您的原生代码中,您需要实现一个侦听此自定义网址的UIWebView
委托:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if([[[request URL] absoluteString] isEqualToString:@"myspecialurl:foo"]) {
// Your code for when the AJAX request completes.
return NO;
}
return YES;
}
不保证此代码会解析/编译,但应该让您了解如何执行此操作。