UIWebView goBack问题

时间:2011-04-27 07:59:08

标签: objective-c uiwebview webview loaddata

我加载我的html数据:

[webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:url];

但是当被召唤时:

[WebView goBack];

webView无法返回该html页面。

我该怎么办? 我赞赏任何回应。

3 个答案:

答案 0 :(得分:2)

如果UIWebView中的初始页面不是远程页面(如www.yahoo.com)而只是本地html文件,则在单击此第一页中的任何链接后,您将被重定向,但goBack方法将成为无法返回第一个初始页面(html文件)。 你可以使用小黑客来做到这一点。 UIWebView具有只读BOOL参数canGoBack,表示可以返回。它通常用于禁用/启用“返回”按钮。 我正在使用这样的东西:

- (void) userPressedGoBackButton {
    if ([self.webView canGoBack]) {
            [self.webView goBack];
        } else {
            [self.webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:url];
    }
}

答案 1 :(得分:0)

我有同样的问题。我自己的解决方案是创建一个按钮以返回缓存的html数据页面。此按钮调用一个方法,该方法也在viewDidLoad中调用以初始化webview。

我的情况是从网站加载rss数据,然后创建html字符串,使用loadHTMLString与webview一起显示。这个html页面上有一些链接,点击链接后,goback按钮工作正常,但无法进入第一页 - rss显示页面。

答案 2 :(得分:-1)

请尝试这样的事情:

 NSString *urlAddress = @"http://www.stackoverflow.com";

 NSURL *url = [NSURL URLWithString:urlAddress];

 NSURLRequest *requestObj = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];

 [self.webview loadRequest:requestObj];

然后尝试后退导航:

 [self.webview goBack];