我有一个小型应用,其UIWebView
用于网上冲浪。在某些页面上打开Appstore用于促销目的(这很烦人)。我怎么能防止这种情况?有特殊方法吗?或者只是伪造browserid
?
答案 0 :(得分:1)
使用UIWebViewDelegate
方法webView:shouldStartLoadWithRequest:navigationType:
检测网页视图中加载的网址。应用商店网址通常包含itunes.apple.com
或phobos.apple.com
。
当您遇到此类网址时,您可以从网络视图委托方法返回NO
以停止加载网址。
希望有所帮助!
答案 1 :(得分:1)
http://bjango.com/articles/ituneslinks/ 这里是appstore,itunes链接形成的完整参考。
来自参考链接,apple.com
对于所有类型的链接都是通用的。
因此我们可以创建正则表达式或只是从网址搜索字符串“apple.com”,并避免在webview中加载。
如果您愿意,请在没有正则表达式的情况下使用以下代码可能会对您有所帮助:
-(BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *currentURL = request.URL;
NSString *urlString = url.absoluteString;
NSRange range = [urlString rangeOfString:@"apple.com"];
if (range.location != NSNotFound)
return YES;
else
return NO;
}
答案 2 :(得分:0)
使用以下UIWebView Delegate方法:
-(BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *currentURL = request.URL;
NSString *urlString = url.absoluteString;
NSRange range = [urlString rangeOfString:@"https://itunes.apple.com"]; // Change URL if other than this.
if (range.location != NSNotFound)
return YES;
else
return NO;
}