banner
李大仁博客

李大仁博客

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

[iOS]禁止UIWebView前進和後退

在使用 HTML5+Native 方式開發 APP 時,需要禁用 UIWebView 的前進和後退功能,可以使用以下三種方式實現,三種方法同時使用也可以。 1. 在 APP 內使用 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. 在 APP 內使用 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 頁面後增加以下代碼
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。