iOS uiwebview Контроль истории goBack

Я загружаю & quot; webpage1 & quot; на uiwebview и сохранении его первого запроса в переменной экземпляра "webviewHistory". Затем я должен повторно использовать это веб-представление для загрузки другой страницы & quot; webpage2 & quot; (также сохранил свой первый запрос в «webviewHistory»), и история должна начинаться с этого запроса. Проблема в том, что если я выполню goBack (кнопка IBAction) с «webpage2», я смогу вернуться на «webpage1». история и последующее. Если я проверяю запрос и сравниваю с исходным сохраненным, работает! но не с перенаправлениями, например, если я инициирую запрос к www.youtube.com, запрос перенаправляется на m.youtube.com, и первый не сохраняется как история переходов! как это решить?

if (![webViewSocial.request.URL.absoluteString isEqualToString:self.webviewHistory]){
    [webViewSocial goBack];
    }

Ответы на вопрос(2)

Решение Вопроса

которые позволяют вам перемещаться назад и вперед с историей, без необходимости отслеживать последний запрос. Есть ли конкретная причина, по которой вы сохраняете последний запрос?

Образец кода:

if ([webView canGoBack]) {
    [webView goBack];
}

Вот проект, который является простым браузером uiwebview, если вы хотите поиграть с ним: https://github.com/msencenb/UIWebView-Example

 Jaume04 июн. 2012 г., 08:43
Я уже использую эти методы, но мне нужно включить или отключить действие goBack в зависимости от того, был ли запрос старше первой загруженной страницы!
 04 июн. 2012 г., 18:34
Хорошо. Я думаю, вам следует подождать, пока перенаправление произойдет на первой странице (чтобы вы загрузили правильную первую страницу), используя метод делегата uiwebview: webViewDidFinishLoad: затем сохраните его в переменной экземпляра.

if webView.canGoBack {
    webView.goBack()
}

Ваш ответ на вопрос