我需要应用识别它是否是嵌入的 youtube 视频,然后是应用内 webView
这是我现在使用的代码:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
{
NSString *urlString = request.URL.absoluteString;
NSString *youtube;
youtube = @"youtube";
if ([urlString rangeOfString:youtube options: NSCaseInsensitiveSearch].location != NSNotFound){
return YES;
}
[[UIApplication sharedApplication] openURL:request.URL];
return NO;
}
这在大多数情况下都有效,因为大多数 youtube 链接已作为嵌入视频直接传输到网页上。但是,我检查我是否从 youtube 选择个人资料页面或其他页面,这仍会在应用内打开,因为我的应用没有后退按钮(html 页面中的按钮)。因此,任何不是视频的链接都会导致无法返回。我尝试使用@"youtube.com/watch" @"/watch?" @“手表?” 作为 rangeOfString,但只有youtube有效。
例如:这是一个 youtube 视频 url:data-url="http://youtube.com/watch?feature=player_detailpage&v=Ke1Y3P9D0Bc"(应用内视图很好)
dara-url="youtube.com"(失败,仍在应用内查看)
我想知道我以错误的格式存储字符串,rangeOfString 中不支持的符号?或者可以有另一种方式,比如urlString rangeOfString:youtube && @"watch"
谢谢你,真的很感激。