我正在尝试检查是否为我的用户加载了某个页面。用户在UIWebView中进行注册过程,我想知道它何时完成。问题是注册不会改变网页,它使用Javascript和Ajax来更新屏幕上的内容。所以跑步:
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText;"];
在webViewDidStartLoad
中仅在初始站点的第一次加载时返回。基本上我只想检查页面上的文本,只要它改变为字符串匹配“成功”之类的东西然后我会知道用户已成功登录。可能吗?
答案 0 :(得分:0)
是的,你可以这样做。在您网页上的javascript中执行类似这样的操作
window.location = 'myprotocol://userDidSignUp'
然后在你的UIWebViewDelegate中执行
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
if(request == nil)
{
return YES;
}
NSString* urlStr = [[request URL] absoluteString];
if(urlStr != nil && [urlStr isEqualToString:@"myprotocol://userDidSignUp")
{
//User signed in
return NO;
}
return YES;
}