以下代码工作正常,但当我回到我的应用程序时,它继续执行以下代码,但我不知道为什么以及如何阻止它。 我认为它只发生在ios5.0中: app flow - rootviewcontroller - > mainviewcontroller - > webview
在mainviewcontroller中的webview的 shouldstartloadrequest 方法中调用以下代码
@property (readwrite, retain) UIWebView *_loginWebView;
...
..
- (void)viewDidLoad
{
[super viewDidLoad];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_loginWebView loadRequest:requestObj];
}
//每当webview收到打开网址的请求时都会调用以下内容
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
//return no is a special case there is more code in the method which I am not showing here
if ([[UIApplication sharedApplication] canOpenURL:myURL])
{
[[UIApplication sharedApplication] openURL:myURL];
}
else
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:newPath]];
}
return NO;
}
//above is a special case
}
头标记内容 -
<head>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<!-- iOS Stuff -->
<link rel="apple-touch-icon" href="images/...."/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="shortcut icon" href="favicon.ico" />
<script async="async" src="https://......."></script>
<script type="text/javascript">
..........
</script>
</head>
答案 0 :(得分:0)
myURL是否在标题中设置了元刷新?如果网页正在重新加载,则会调用此方法。如果有重定向,它也会被调用。
答案 1 :(得分:0)
如果我理解你的问题,问题是
所以,问题是webview自动重新加载网址的原因。
从上面的代码中,它喜欢不需要使用Web视图,因为委托总是返回No,并做其他事情。
我不知道为什么会发生这种情况,如果可以的话,只需删除困扰此的网页视图。
并且此答案将被删除。
答案 2 :(得分:0)
这是IOS 5.0的一个错误,如果你回到应用程序返回前台的webview,它会刷新它....就像safari那样...
但是Apple修复了IOS 6.0中的这个错误
所以没有什么可以做的。