我在iOS6应用中嵌入Youtube视频时遇到问题。
问题是每当我创建一个使用旧/或新嵌入代码的html元素时,它会打开Safari并显示视频
我使用Youtube API获取视频,并使用PhoneGap
更新 解决方案是在Phonegap设置中将OpenAllWhitelistURLsInWebView设置为YES
答案 0 :(得分:0)
您可以使用UIWebview
加载视频而不是Safari。
CGRect rect = [[UIScreen mainScreen] bounds];
CGSize screenSize = rect.size;
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,screenSize.width,screenSize.height)];
webView.autoresizesSubviews = YES;
webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
NSString *videoUrl = @"http://www.youtube.com/v/oHg5SJYRHA0";
NSString *htmlString = [NSString stringWithFormat:@"<html><head><meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 212\"/></head><body style=\"background:#F00;margin-top:0px;margin-left:0px\"><div><object width=\"320\" height=\"480\"><param name=\"movie\" value=\"%@\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"%@\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"320\" height=\"480\"></embed></object></div></body></html>",videoUrl,videoUrl] ;
[webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:@"http://www.youtube.com"]];
[window addSubview:webView];
[webView release];
答案 1 :(得分:0)
如果你正在谈论一个真正的APP(不知道任何事情),那就不舒服了 但如果它是一个WEBAPP(一个试图看作真正的APP的普通网页), 然后我发现阻止youtube-videos在Safari / Qt-player中打开的唯一方法 是使用“Fancybox”嵌入它(也可能是其他盒子) 这将保持在Youtube自己的播放器的页面上。
您甚至可以拥有原始的播放列表播放器 我停止尝试在iPhone页面上嵌入youtube视频(小)
我试图包含一个jSfiddle示例的链接,但这个论坛不接受它
它迫使我在这里写下整个例子......我不打算这样做
因为那对我来说很重要。
(不知道其他人如何被允许链接到jSfiddle)
这个论坛是我口味的方式。
无论如何你应该能够(在网络应用程序中)在Fancybox的网站上找到信息。