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

2.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);"];

3.HTML 内使用 JavaScript 禁止返回 可以在 HTML 页面后增加以下代码

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.