这是MacOS编程问题,不是iOS(iPhone)编程。

我有一个WebView。我可以将网页加载到WebView中,并使用以下委托(delegate)协议(protocol)检测到该初始加载:

- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id)listener { NSString *urlString = [[request URL] absoluteString];
NSLog(@"%@", urlString); }

但是,我发送给它的页面会立即重定向,并且我需要查看它重定向到的URL。不幸的是,该协议(protocol)无法捕获重定向。

有谁知道如何在WebView中检测重定向的URL?

谢谢。

最佳答案

你真幸运。一个小时前,我遇到了同样的问题。

根据Apple文档中的WebView参考类,您必须设置一个符合webframeloaddelegate协议(protocol)的委托(delegate)。

[webView setFrameLoadDelegate:object];

然后在对象中,必须设置此方法:
- (void)webView:(WebView *)sender willPerformClientRedirectToURL:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date forFrame:(WebFrame *)frame

就这样!

07-28 04:14
查看更多