10

uiwebviewに「webpage1」をロードし、最初のリクエストをインスタンス変数「webviewHistory」に保存しています。次に、そのWebビューを再利用して別のページ「webpage2」(「webviewHistory」への最初のリクエストも保存)をロードする必要があります。履歴はこのリクエストから開始する必要があります。問題は、「webpage2」からgoBack(ボタンIBAction)を実行すると、「webpage1」の履歴に戻ってフォローし続けることができることです。リクエストを確認して、最初に保存したものと比較すると、機能します。ただし、リダイレクトではありません。たとえば、www.youtube.comへのリクエストをトリガーすると、リクエストはm.youtube.comにリダイレクトされ、最初のリクエストはナビゲーション履歴として保存されません。それを解決する方法は?

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

2 に答える 2

31

UIWebviewsには、最後のリクエストを追跡しなくても、履歴を前後に移動できるインスタンスメソッドがあります。最後のリクエストを具体的に保存する特別な理由はありますか?

サンプルコード:

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

これは、単純なuiwebviewブラウザーで遊んでみたい場合のプロジェクトです: https ://github.com/msencenb/UIWebView-Example

于 2012-06-03T21:31:26.240 に答える
0

Msencenbの迅速な3バージョンの回答:

if webView.canGoBack {
    webView.goBack()
}
于 2017-01-25T20:10:01.033 に答える