UIWebView GoBack проблема

Я загружаю свои данные HTML, как это:

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

Но когда называется:

[WebView goBack];

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

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

3 ответа

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

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

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

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

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

 NSURL *url = [NSURL URLWithString:urlAddress];

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

 [self.webview loadRequest:requestObj];

а затем попробуйте вернуться назад:

 [self.webview goBack]; 
Другие вопросы по тегам