objective-c - UIWebView canGoBack 和 canGoForward 总是返回 NO

标签 objective-c ios cocoa-touch uiwebview

我正在尝试将数据直接加载到 UIWebView:

[webView loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8" 
          baseURL:nil];

数据是一些包含一些外部链接的 html 字符串。我正在尝试根据 UIWebView 属性启用后退和前进按钮:

self.forwardBtn.enabled = self.webView.canGoForward;
self.backBtn.enabled = self.webView.canGoBack;

但是,即使我在初始加载后点击了 WebView 中的不同链接,webView.canGoForwardwebView.canGoBack 总是返回 NO

对此有什么想法吗?

最佳答案

好的,我认为问题是如果我使用 loadData 或 loadHTMLString,然后我在委托(delegate)中检查请求的 url:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSLog(@"url=%@", [request URL]);
    return YES;
}

该网址似乎是空的。 我认为这就是为什么在使用 loadData 时没有 goBack 历史的原因。

关于objective-c - UIWebView canGoBack 和 canGoForward 总是返回 NO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8810412/

相关文章:

ios - 如何将 Objective C 函数的地址传递给 C 函数?

ios - 如何以横向模式打开 View Controller ?

ios - 在不显示 View Controller 的情况下使用 MFMailComposeViewController

ios - 日期选择器不隐藏

iphone - 使用 UIWebView 获取页面的源代码

ios - 如何禁用/启用 UITextField 中的返回键?

通过流(通过 IP 地址)的 iOS 到 iOS 设备连接

ios - 自定义 URL 方案 Obj-C iOS Xcode

ios - 在 Flutter 中使用 MPMediaPickerController

Swift 设置子类 UIView 的宽度和高度