2011-04-27 60 views
0

我打開我的HTML數據是這樣的:UIWebView的GoBack的問題

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

但調用時:

[WebView goBack]; 

web視圖不能回到那個html頁面。

我該怎麼辦? 我申請任何迴應。

+0

我只是做了一個小的應用測試您的問題,它的工作完美的'UIWebView'是正確的導航到後面,你能爲我提供您所使用的代碼? – 2011-04-27 08:25:05

回答

-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]; 
+0

loadRequest不是我想要的。我需要加載html數據。當轉向其他頁面和goback調用時,webview想要返回加載緩存的html數據的頁面。但似乎webview不會緩存html數據。 – 2011-04-27 08:36:11

0

我有同樣的問題。我自己的解決方案是創建一個按鈕返回到緩存的html數據頁面。該按鈕調用一個方法,該方法在viewDidLoad中也稱爲初始化web視圖。

我的情況是從網站加載rss數據,然後創建html字符串,它使用loadHTMLString與webview一起顯示。在這個html頁面上有一些鏈接,點擊鏈接後,goback按鈕可以正常工作,但不能進入第一頁 - rss顯示頁面。

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]; 
    } 
}