UIWebView GoBack проблема - PullRequest
       23

UIWebView GoBack проблема

0 голосов
/ 27 апреля 2011

Я загружаю свои html-данные следующим образом:

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

Но при вызове:

[WebView goBack];

webView не может вернуться на эту html-страницу.

Чтоя должен делать ?Я ценю любой ответ.

Ответы [ 3 ]

2 голосов
/ 05 мая 2014

Если ваша начальная страница в 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];
    }
}
0 голосов
/ 05 января 2013

У меня был тот же вопрос.Решение для меня состоит в том, чтобы создать кнопку, чтобы вернуться на страницу с кэшированными HTML-данными.Эта кнопка вызывает метод, который также вызывается в viewDidLoad для инициализации веб-просмотра.

В моем случае загружаются данные rss с веб-сайта, а затем создается строка html, которая отображается вместе с веб-представлением с помощью loadHTMLString.На этой html-странице есть несколько ссылок, после нажатия на которые кнопка возврата работает нормально, но не может перейти на первую страницу - страницу, отображаемую в rss.

0 голосов
/ 27 апреля 2011

Пожалуйста, попробуйте что-то вроде этого:

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