在iPhone中的UIWebView中停止Ajax请求

时间:2011-05-04 22:32:01

标签: iphone uiwebview

我有一个UIWebView控件加载一个在HTML上有AJAX的URL。我关心的是在页面上停止AJAX请求。我可以使用委托方法停止所有进一步的导航:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest: (NSURLRequest*)req navigationType:(UIWebViewNavigationType)navigationType { 

或者我可以使用简单方法[webView stopLoading],但是这些方法不能阻止在浏览器上运行的内部AJAX请求。

请建议我们是否有办法停止AJAX

1 个答案:

答案 0 :(得分:2)

Ajax URL不会传递给shouldStartLoadWithRequest,只会加载页面和iframe。要捕获任何其他类型的网络流量,您可以使用NSURLCache,它基本上是UIWebView和网络之间的缓存层。它还可以根据您定义的某些规则捕获请求,并为其返回错误或空响应,就好像该错误在缓存中一样。

以下是替换某些网址内容的示例: http://cocoawithlove.com/2010/09/substituting-local-data-for-remote.html