相关疑难解决方法(0)

你能否在不破坏后退按钮的情况下拦截UIWebView中的NSURLRequests?

我无法在UIWebView不破坏其goBack方法的情况下将自定义HTML加载到我身上.

什么有用

我正在拦截我的URL请求,UIWebView所以我可以加载自定义HTML.我控制了所有的HTML,所以我有我的特殊应用程序请求使用myapp://arg1/?arg2=val我可以解析的自定义方案(即.)webView:shouldStartLoadWithRequest:navigationType:.我决定我真正想要加载和调用哪些HTML loadHTMLString:baseURL并返回NO以取消原始请求.

什么行不通

以上工作很棒.问题是我想使用该UIWebView's goBack方法,并且loadRequest:似乎是UIWebView添加到其历史堆栈的唯一方法.

我有一些想法,但我不确定哪些是可行的以及如何解决它们.最主要的似乎是,我必须返回YESwebView:shouldStartLoadWithRequest:navigationType,我必须使用UIWebViewloadRequest方法.

想法1:修改NSURLRequest/Response: 我可以将NSURLRequest子类化,以便(当UIWebView发出请求时)它实际上不会发出HTTP请求并返回带有我的HTML的NSURLResponse吗?或者可能以某种方式修改/子类/添加类别方法到NSURLResponse?我喜欢它是一个真正的请求,但我担心私有API并被App Store拒绝.

想法2:处理自定义URL协议 注册自定义URL协议,以便我的应用程序响应它,我可以让它返回合法的NSURLResponse(填充我的自定义HTML.)

想法3:欺骗缓存用这个缓存策略创建请求,NSURLRequestReturnCacheDataDontLoad然后以某种方式在webView和缓存之间获取我的HTML?

或许我完全走错了轨道?

cocoa-touch uiwebview nsurlrequest ios

13
推荐指数
3
解决办法
1万
查看次数

获取UIWebView响应头

我已经研究了从UIWebview响应中获取响应头的方法. 这个SO问题讨论了它.但我不确定苹果是否允许这样做.我将有一个webview显示一个加载的登录页面,并需要在成功登录后获取响应标头.还有这个

做一些事情来获取状态代码.但它会创建一个重复的NSUrlConnection请求.有什么办法可以实现这个目标吗?我将不胜感激.

header objective-c uiwebview ios

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

ios ×2

uiwebview ×2

cocoa-touch ×1

header ×1

nsurlrequest ×1

objective-c ×1