Home > 语言编程 > [iOS]UIWebView禁止前进和后退

[iOS]UIWebView禁止前进和后退

使用HTML5+Native方式开发APP时,需要禁用掉UIWebView前进和后退功能,可以使用以下三种方式实现,三种方法同时使用亦可。
1.APP内使用native代码修改UIWebView功能禁止。
直接覆盖UIWebView返回判断功能,前进亦可在此处禁止

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@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方法

1
2
3
4
5
6
//禁止后退
[webView stringByEvaluatingJavaScriptFromString:@"window.history.forward(1);"];
//禁止返回
[webView stringByEvaluatingJavaScriptFromString:@"window.location.replace(window.href);"];
//禁止前进后退
[webView stringByEvaluatingJavaScriptFromString:@"window.history.go(1);"];

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

1
2
3
4
5
6
7
8
<script language="JavaScript">
//禁止后退
window.history.forward(1);
//禁止返回
window.location.replace(window.href);
//禁止前进后退
window.history.go(1);
</script>
Categories: 语言编程 Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.