【问题标题】:UIWebView won't goBack after loading HTML in iOS在 iOS 中加载 HTML 后 UIWebView 不会返回
【发布时间】:2012-02-12 20:34:12
【问题描述】:

我在我的 iPhone 应用程序中遇到了这个问题:我有一个 webView,它首先加载了一个 HTML 字符串。用户单击链接并加载请求的页面后,当我调用 [UIWebView goBack]; 方法时,webView 不会返回我想 webView 不会缓存 HTML 字符串。有什么方法可以让 webView 缓存我的 HTML 字符串,而不必自己将其保存在 NSString 中?

【问题讨论】:

    标签: ios caching uiwebview back


    【解决方案1】:

    您可以使用 canGoBack 属性,如果无法返回,请使用原始 html 重新加载 UIWebView。如果用户使用链接向前导航,则 canGoBack 属性将返回 YES,并且可以在 UIWebView 上启动 goBack。 _htmlString 是在使用 HTML 字符串初始化 UIWebView 时设置的成员变量。 -rrh

    - (void)goBack
    {
        if (_htmlString && ![_browserWebView canGoBack]) {
            [_browserWebView loadHTMLString:_htmlString baseURL:nil];
            return;
        }
        [_browserWebView goBack];
    }
    

    【讨论】:

    • 如何设置htmlString?
    【解决方案2】:

    尝试从文件 URL 创建一个 NSURLRequest 并使用 loadRequest 而不是 loadhtmlString

    NSURL *htmlFileUrl = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
    NSURLRequest *localRequest = [NSURLRequest requestWithURL:htmlFileUrl];
    self.webView.delegate = self;
    [self.webView loadRequest:localRequest];
    

    【讨论】:

      【解决方案3】:

      这听起来像是您的 webview 变量没有正确链接到您正在使用的 webview 实例。在此调用处设置断点并检查您的 webView 变量是否为“nil”。

      如果是,请确保您的 XIB 文件中的 webView 链接到 Interface Builder 中的 IBOutlet 变量。这是一个常见的错误,我在第一次设计新页面时往往会忘记这一点。

      本教程涵盖了很多关于如何使用 Interface builder 构建接口的内容,我相信你很熟悉,但对于那些不熟悉的人来说,它也很有用。它有一些很好的屏幕截图,可以更好地说明我所说的“链接”的含义,而不是输入“单击小 + 图标并将小东西拖到 UI 元素上”:)

      http://www.icodeblog.com/2008/07/30/iphone-programming-tutorial-connecting-code-to-an-interface-builder-view/

      编辑

      我唯一能想到的另一件事是,您正在通过在某处重新初始化它来覆盖您的 webView 变量(它已由 XIB 初始化),因此您在不存在的 webview 上调用 goBack屏幕。

      【讨论】:

      • 哦,如果你想知道为什么 IOS 在你调用 'nil' 上的方法时不会发出臭味,那是因为 nil 不是 NULL,并且在调用时只返回 'nil'
      • 感谢您的回答!我验证并且我的 IBOutlets 没问题。可能是什么?
      猜你喜欢
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      相关资源
      最近更新 更多