objective-c - 无法访问 webViewDidStartLoad 内 UIWebView 的请求对象

标签 objective-c ios cocoa-touch uiwebview nsurlrequest

我尝试通过以下方式访问 webViewDidStartLoad 中 UIWebView 的请求对象:

- (void) webViewDidStartLoad:(UIWebView *)webView {
    NSLog(@"req : %@", [webView request]);
    -----
    -----
}

它在控制台中显示以下内容: 请求:(空)

以上可能吗,还是我做错了什么? 投反对票

我不想在 webView:shouldStartLoadWithRequest:)request navigationType: 中使用它,因为 goBackgoForward 并不总是调用此方法> 方法

最佳答案

看起来您仍然需要考虑shouldStartLoadWithRequest

进行了一些测试,看起来 [webView request] 在委托(delegate)方法中“落后了一步”。

这是代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    NSLog(@"req1a : %@", [request URL]);    
    NSLog(@"req1b : %@", [[webView request] URL]);    

    return YES;
}

- (void) webViewDidStartLoad:(UIWebView *)webView {

    NSLog(@"req2 : %@", [[webView request] URL]);    
}

这是初始(关于:空白)和点击后(一些视频流,而不是实际打印输出)请求的结果:

初始请求:

req1a:关于:空白

req1b:(空)

请求2:

点击链接后:

请求1a:xttp://origin.biokoda.tv/...

req1b:关于:空白

请求2:关于:空白

看起来[webview request]正在保存最后加载的请求。

关于objective-c - 无法访问 webViewDidStartLoad 内 UIWebView 的请求对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9444066/

相关文章:

ios - 在 Xcode 4.6.3 中安装自定义字体

ios - 在 NSArray 中搜索值的范围

ios - 用于 ipad 的 uiwebview 的自定义键盘

iphone - iOS:使用键盘时崩溃......?

iOS,用程序化的 : IBNSLayoutConstraint issue 替换导出约束

ios - Spotify 在 iPhone 上使用 API 无需登录即可播放歌曲

iphone - 当用户退出时,是否有一种可以用来重置 iPhone 应用程序的万能方法?

ios - 如何检测 UIWebView 中的重定向

iphone - 自定义 ABPersonPickerViewController

ios - UIImage 在 iOS 中使用时看起来不同