0

我正在使用 UIWebView 的 shouldStartLoadWithRequest:navigationType: 委托方法来拦截在网页中执行的 html 链接。我这样做是为了可以从网页接收实时通知。但是,我正在快速连续执行大约 5 个网页加载,以尝试接收自定义 URL 方案传递的数据。我现在只是想把它们全部记录下来,所以我的代码如下所示:

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

}

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

有没有办法让我通过 shouldStartLoadWithRequest: 委托方法接收所有这些请求?

4

1 回答 1

0

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

于 2013-11-12T04:07:56.763 回答