【问题标题】:Need to filter certain UIWebView requests and load them in different UIWebViews需要过滤某些 UIWebView 请求并在不同的 UIWebViews 中加载它们
【发布时间】:2010-03-01 20:44:42
【问题描述】:

一些背景

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

让一个 UIWebView 代理响应所有 URLRequest(通过webView:shouldStartLoadWithRequest:navigationType)并以某种方式决定哪个应该加载到哪里对我来说很有意义。

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

问题

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

我是否应该停止所有通过 webview 委托方法拦截所有 NSURLRequest,然后发送一个新的 NSURLRequest,它实际上会被加载到正确的 webview?我在想我会将 NSURLRequest 子类化,这样我就可以将原始请求与我修改过的请求区分开来。但同样,我不想直接创建 NSURLRequest,我想获取一个 NSDictionary 并将其中一个值用作 HTML。

我在过滤 UIWebView 中加载的内容时看到了这个 article,但我不认为这正是我想要的。

我正在尝试通过URL Loading System Overview 工作,但那里有很多。

【问题讨论】:

    标签: iphone cocoa-touch uiwebview


    【解决方案1】:

    最终使用自定义 URL 方案来识别我想要加载的请求与我想要处理的请求。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 2014-07-01
    • 2020-09-09
    • 1970-01-01
    相关资源
    最近更新 更多