我有一个UIWebView控件加载一个在HTML上有AJAX的URL。我关心的是在页面上停止AJAX请求。我可以使用委托方法停止所有进一步的导航:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest: (NSURLRequest*)req navigationType:(UIWebViewNavigationType)navigationType {
或者我可以使用简单方法[webView stopLoading]
,但是这些方法不能阻止在浏览器上运行的内部AJAX请求。
请建议我们是否有办法停止AJAX
答案 0 :(得分:2)
Ajax URL不会传递给shouldStartLoadWithRequest,只会加载页面和iframe。要捕获任何其他类型的网络流量,您可以使用NSURLCache,它基本上是UIWebView和网络之间的缓存层。它还可以根据您定义的某些规则捕获请求,并为其返回错误或空响应,就好像该错误在缓存中一样。
以下是替换某些网址内容的示例: http://cocoawithlove.com/2010/09/substituting-local-data-for-remote.html