Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/45.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Youtube embed rel=0不适用于iphone_Javascript_Iphone_Youtube_Html5 Video_Embed - Fatal编程技术网

Javascript Youtube embed rel=0不适用于iphone

Javascript Youtube embed rel=0不适用于iphone,javascript,iphone,youtube,html5-video,embed,Javascript,Iphone,Youtube,Html5 Video,Embed,正在尝试使用?rel=0参数嵌入youtube视频,以便视频结束时,不会在播放器中显示相关视频,如下所示: <iframe width="560" height="315" src="//www.youtube.com/embed/TRrL5j3MIvo?rel=0" frameborder="0" allowfullscreen></iframe> 这在桌面浏览器上非常有效,但在iOS上,youtube似乎正在删除url末尾的所有参数。因此,当用户观看整个视频,然

正在尝试使用?rel=0参数嵌入youtube视频,以便视频结束时,不会在播放器中显示相关视频,如下所示:

<iframe width="560" height="315" src="//www.youtube.com/embed/TRrL5j3MIvo?rel=0" frameborder="0" allowfullscreen></iframe>


这在桌面浏览器上非常有效,但在iOS上,youtube似乎正在删除url末尾的所有参数。因此,当用户观看整个视频,然后在移动youtube播放器中按“完成”,相关视频现在会显示在浏览器中。我的第一个想法是尝试在页面加载后用javascript在末尾附加?rel=0 param,但运气不好。

您可以将webview用作youtube播放器

尝试下面的代码,它是为我工作

在.h文件中

@属性(强,非原子)UIWebView*webView; 在你的.m文件中

NSString *videoURL = @"http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com";
//如果您的url不是嵌入格式或是动态的,则必须将其转换为嵌入格式

videoURL = [videoURL stringByReplacingOccurrencesOfString:@"watch?v=" withString:@"embed/"];

NSRange range = [videoURLString rangeOfString:@"&"];
@try {
     videoURLString = [videoURLString substringToIndex:range.location];
}
@catch (NSException *exception) {

}

// here your link is converted in embed format.

NSString* embedHTML = [NSString stringWithFormat:@"\
<html><head>\
<style type=\"text/css\">\
iframe {position:absolute; top:50%%; margin-top:-130px;}\
body {\
    background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<iframe width=\"100%%\" height=\"240px\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>\
</body></html>",videoURL];

self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
[self.view addSubview:self.webView];
[self.webView loadHTMLString:embedHTML baseURL:nil];
videoURL=[videoURL stringByReplacingOccurrencesOfString:@“watch?v=”with string:@“embed/”];
NSRange range=[videoURLString rangeOfString:@“&”];
@试一试{
videoURLString=[videoURLString子字符串到索引:range.location];
}
@捕获(NSException*异常){
}
//在这里,您的链接将转换为嵌入格式。
NSString*embedHTML=[NSString stringWithFormat:@”\
\
\
iframe{位置:绝对;顶部:50%;边缘顶部:-130px;}\
身体{\
背景色:透明\
颜色:白色\
}\
\
\
\
“,videoURL];
self.webView=[[UIWebView alloc]initWithFrame:CGRectMake(0,0320460)];
[self.view addSubview:self.webView];
[self.webView loadHTMLString:EmbedHtmlBaseURL:nil];
在这里,您可以根据需要更改webview框架,也可以更改videoUrl

有两个概念,可嵌入和联合。iOS设备使用iframe,因此它们基本上是嵌入的。使用播放器API的Android设备可以检查辛迪加

执行搜索->列表时,可以将VideoEmbeddeble和videoSyndicated设置为true

或者,如果您正在迭代视频,对于每个视频,您可以使用视频id执行视频->列表调用,并在响应中检查status.embeddeble

下面是一篇关于这个主题的博客文章,尽管v2中有示例,但信息仍然是相关的

使用的信息来自>