banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[iOS]UIWebViewの前進と後退を禁止する

HTML5+Native 方式でアプリを開発する際、UIWebView の前進と後退機能を無効にする必要があります。以下の 3 つの方法を使用して実現することができます。3 つの方法を同時に使用することもできます。

  1. アプリ内で Native コードを使用して UIWebView の機能を無効にする方法。UIWebView の戻る判断機能を直接上書きし、ここで前進も禁止することができます。

@interface UIWebView(no_back_forward)

  • (BOOL) canGoBack;
  • (BOOL) canGoForward;
    @end

@implementation UIWebView(no_back_forward)

  • (BOOL) canGoBack
    {
    return NO;
    }
  • (BOOL) canGoForward
    {
    return NO;
    }
    @end
  1. アプリ内で Native コードを使用して UIWebView の Delegate メソッドを無効にする方法。UIWebView の webViewDidFinishLoad: メソッドに以下のコードを追加します。ここでは stringByEvaluatingJavaScriptFromString メソッドを使用します。

// 後退を禁止
[webView stringByEvaluatingJavaScriptFromString:@"window.history.forward(1);"];
// 戻るを禁止
[webView stringByEvaluatingJavaScriptFromString:@"window.location.replace(window.href);"];
// 前進と後退を禁止
[webView stringByEvaluatingJavaScriptFromString:@"window.history.go(1);"];

  1. HTML 内で JavaScript を使用して戻るを禁止する方法。HTML ページの後に以下のコードを追加することができます。
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。