Мне любопытно, если существует способ обнаружить изменение отображенного веб-сайта внутри a UIWebView
. В приложении я продолжаю работать, мы используем a UIWebView
представить часть функциональности, которые являются в основном несколькими шагами, которые должен выполнить пользователь. Однако желание быть определенной страницей в конце этих шагов, которые я должен определить и после которого приложение должно отобразить другое представление.
К сожалению, UIWebViewDelegate
кажется, не добивается цели.
Если шаги пользователя разделены на разных страницах, и UIWebView
должен загружать разные шаги, это действительно должно быть возможно с помощью методов делегата.
В этом примере мы говорим, что пользователь проходит через 3 шага, названные step1.htm, step2.htm и, наконец, step3.htm. Этот код определит, когда пользователь достигнет третьего и последнего шага.
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSString *URLString = [[request URL] absoluteString];
if ([URLString isEqualToString:@"http://www.example.com/step3.htm"]) {
// The user reached step 3!
}
return YES;
}
Обратите внимание, что использование метода absoluteString
может быть не лучшим способом узнать, где пользователь просматривает страницу. Посмотрите на query
, path
, parameterString
и т.д...