我有一个一直在开发的网站,我们有一个iframe,可以从给定的YouTube频道中获取最新的视频。它在桌面或可以运行flash的设备上运行得很好,但当用户在IOS设备或一些android设备上时,不会显示任何内容。这是一个空广场。有没有人知道的好办法,或者我可以绕过这个问题?我试着检测它是否是一个移动平台,并显示填充图像,但仍然不能在所有设备上工作。任何建议都很好。
我还考虑过只需使用YouTube API,获取视频的图像,并显示用户点击后,它会将你带到视频中,这将是一个修复,但也是最后的修复。
此外,如果有人有更好的方式来运行代码,那么我下面的内容我很乐意看到!
<div class="span6 data_video">
<?php
$url = 'http://gdata.youtube.com/feeds/api/users/'. $Youtube .'/uploads?max-results=1';
$xml = simplexml_load_file($url);
foreach ($xml->entry as $entry) :
// get nodes using mrss ('media' rss namespace)
$kids = $entry->children('http://search.yahoo.com/mrss/');
// for the embed src (just the flv location - you'll need to print out the rest of the object/embed tag
$attributes = $kids->group->content[0]->attributes();
$flv = $attributes['url'];
endforeach;
?>
<iframe align="left" width="100%" height="315" src="<?php echo $flv; ?>" frameborder="0" allowfullscreen></iframe>
</div>
检测正在使用的移动浏览器的代码只是http://detectmobilebrowsers.com/
取自Drewid在另一篇stackoverflow帖子中。。。
var hasFlash = false;
try {
var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if(fo) hasFlash = true;
}catch(e){
if(navigator.mimeTypes ["application/x-shockwave-flash"] != undefined) hasFlash = true;
}
你也可以通过添加url var通过html 5流式传输youtube?html5=1到iframe地址