禁用YouTube或对台式机以外的设备进行可能的修复



我有一个一直在开发的网站,我们有一个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地址

相关内容

  • 没有找到相关文章

最新更新