1

私はで働いていUIWebViewます。そして、このメソッドをに追加しましたUIViewController

うまくいきそうに見えたのですが、リンクで2段移動したところ、

最後のページと最後のページの前を互いに呼び出すだけで[myWebView goBack]

そして[myWebView canGoForward]常に偽です。

何か助けを得ることができますか?

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSMutableURLRequest *requestObj;

    if (navigationType == UIWebViewNavigationTypeBackForward ||
        navigationType == UIWebViewNavigationTypeLinkClicked ||
        navigationType == UIWebViewNavigationTypeReload) {

        NSURL *URL = [request URL];
        NSLog(@"url: %@", URL);
        if ([[URL scheme] isEqualToString:@"http"]) {
            requestObj = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[URL absoluteString]]];
            [requestObj addValue:@"myKey" forHTTPHeaderField:@"myHeader"];
            [_web_view loadRequest:requestObj];
        }
        return NO;
    }
    return YES;
}

追加: 「User-Agent」に値を入れることができません。それが私がこれをしている理由です。

4

1 に答える 1

0

同様の問題に直面しました。

問題は、戻るボタンをクリックした後に再度 loadRequest を呼び出していたことです。代わりに、 goBack 、 goForward を呼び出すと、webview はスタックと canGoback および cangoforward フラグを適切に維持します。

それが役立つことを願っています。

于 2013-10-04T08:19:17.767 に答える