iphone - 调用 webViewDidStartLoad 时获取 URL?

标签 iphone objective-c xcode macos uiwebview

如果我在调用 webViewDidStartLoad 方法时尝试从 webView 检索 URL,我会得到一个空字符串。这是我的代码:

- (void)webViewDidStartLoad:(UIWebView *)webView
{
    NSURL* url = [webView.request URL];    
    const char* urlchar = [[url absoluteString] UTF8String];

    // do stuff with urlchar...
}

这与我在 webViewDidFinishLoad 中使用的代码相同,而且似乎有效。这是正确的方法吗?有没有更好的办法?我应该期望在调用时获得有效的 url 吗?

最佳答案

这才是正确的做法。该委托(delegate)方法中提供的 webView 参数允许您访问启动请求的 UIWebView。作为旁注,当加载页面中的图像、脚本和其他资源时调用此方法(每个资源一次)。为确保页面完全完成,请检查 loading 属性。

关于iphone - 调用 webViewDidStartLoad 时获取 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4876680/

相关文章:

iphone - 如何在iphone APP中下载facebook和Picasso的图片

iphone - 层 HitTest 仅在触摸层的下半部分时返回层

ios - 在 UINavigationController 层次结构中共享公共(public)背景图像?

ios - 表格单元格内的按钮不可单击

ios - 删除 CKRecord 真的很困惑

iphone - Xcode 不会释放资源文件

c++ - 在 C++ 中为 iOS 开发(有/没有 Xcode)

ios - 如何检测可操作通知的触发日期

ios - 如何在 Xcode 的报告导航器中查找旧的调试数据(日志)

swift - HMAC SHA512 在 Swift 3.1 中使用 CommonCrypto