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/

相关文章:

iphone - 无法在 iPhone 中禁用最新版本的 Flurry 2.8.4 中的调试日志

iphone - 如何在 iPad 中将 UIModalPresentationFormSheet 与 NavigationController 一起使用?

objective-c - 将图像导出到 Instagram - iPhone

ios - 如何在 objective-c 中使用 for 循环显示存储在数组中的值

ios - 在 AppDelegate.m : "prefix attribute must be followed by an interface or protocol" 中实现协议(protocol)

jquery - 手机上传选择相机

ios - CIContext、iOS 9 和内存问题

ios - BetFair 登录 API/iOS 中的 INPUT_VALIDATION_ERROR

iphone - 如何在 UITableViewCell 自动换行中制作文本?

ios - iOS 每 x 秒更新一次位置