我有一个UIWebView
加载 HTML 页面,其中包含一些指向 App Store<a herf="http://itunes/bla/bla/bla">
的链接(链接类型)。
单击一个链接,打开外部 Safari,然后打开外部 App Store 应用程序并成功转到正确的页面。
如果您然后单击主页按钮并返回跳板并再次单击应用程序,它将短暂打开到UIWebView
显示的应用程序,然后再次跳转到外部 Safari 和外部 App Store 应用程序。
如果您再次返回应用程序,它会留在应用程序中。
所以发生的事情是,在从 HTML 页面打开外部浏览器链接后返回应用程序UIWebView
,然后会再次跳转回同一个链接。
任何人有任何想法可能导致这种情况?
我正在使用 Xcode 4.2.1,它发生在模拟器和实际设备上(iPad 1 和 iOS 4.3)。
编辑 - 解决方案:
好的,这是我解决问题所必须做的(感谢 Ben 在下面的回复,他让我看到了正确的区域):
这是我原来的方法:
- (BOOL)webView:(UIWebView *)_webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (didLoad) { //Do not jump to URL when view first loads
return YES;
}
[[UIApplication sharedApplication] openURL:[request URL]];
return YES;
}
这是我的固定方法,不会一直跳转到 URL:
- (BOOL)webView:(UIWebView *)_webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (didShowURL) { //Do not jump to URL when returning to app
didShowURL = 0;
return NO;
}
if (didLoad) { //Do not jump to URL when view first loads
return YES;
}
didShowURL = 1;
[[UIApplication sharedApplication] openURL:[request URL]];
return YES;
}