[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页面后增加以下代码
<script language="JavaScript"> //禁止后退 window.history.forward(1); //禁止返回 window.location.replace(window.href); //禁止前进后退 window.history.go(1); </script> |
Recent Comments