我很好奇是否有办法检测内部显示的网站的变化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
,等...