需要过滤某些UIWebView请求并将它们加载到不同的UIWebViews中

时间:2010-03-01 20:44:43

标签: iphone cocoa-touch uiwebview

一些背景

我有一个带有三个UIWebView的iPhone应用程序,每个用于显示不同类型的页面。 (内容专门为此目的而设计,它们不是真正的网页。)每个特定的Web视图都有链接。例如,在WV1中点击的链接可能需要加载WV2,因为它是WV2样式的链接。 (webview位于分页UIScrollView中,我用它来滚动到当前加载的webview。我可以根据它的路径判断哪个URL加载到哪里。)

对我来说,有一个UIWebView委托响应所有URLRequests(通过webView:shouldStartLoadWithRequest:navigationType)并以某种方式决定哪个应该加载到哪里。

我想在webview中加载的HTML不是直接从页面获取的。我做[NSDictionary dictionaryWithContentsOfURL:]之类的东西来获取对象,其中一部分是实际的HTML。 (此外,这可能来自网络或本地缓存。)

问题

我需要在一个UIWebView中取消一个请求,然后将一些任意数据加载到另一个UIWebView中。我该如何进行后续加载,以便绕过我的拦截?

我应该通过webview委托方法停止所有拦截所有NSURLRequests,然后将实际加载的新NSURLRequest发送到正确的webview吗?我当时认为我是子类NSURLRequest,所以我能够将原始请求与我的篡改请求分开。但同样,我不想直接创建NSURLRequests,我想获取NSDictionary并使用其中一个值作为HTML。

我看到这个article过滤了UIWebView中的负载,但我认为这不是我想要的。

我正试图通过URL Loading System Overview,但那里有很多。

1 个答案:

答案 0 :(得分:0)

结束使用自定义网址方案来识别我想要加载的请求与我想要处理的请求。