UIwebView的shouldStartLoadWithRequest:委托方法不接收所有加载请求

时间:2013-11-09 00:18:31

标签: javascript ios iphone objective-c uiwebview

我正在使用UIWebView的shouldStartLoadWithRequest:navigationType:delegate方法来拦截在网页中执行的html链接。我这样做是为了让我可以从网页上收到实时通知。但是,我正在快速连续执行大约5个网页加载,以尝试接收由自定义URL方案传递的数据。我只是想立即记录它们,所以我的代码看起来像这样:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"Received Request: %@", request);
    return NO;

}

但是,所有请求都不会通过NSLog记录。我已经确认请求是通过OSX Safari Web浏览器的iPhone模拟器日志发送的,它们确实出现在那里。

我有办法通过shouldStartLoadWithRequest:delegate方法接收所有这些请求吗?

1 个答案:

答案 0 :(得分:0)

我提到了另一个答案,因为它引用了Native Bridge,它可以用来在JavaScript和Objective C之间传递消息。即使这不是你的目标,它也会演示如何使你的调用成为hitLoad / didFinish方法。该技术是向页面添加隐藏的iFrame,在该iFrame中加载请求,请求将命中您的委托方法。

相关问题