在较旧的移动浏览器中嵌入YouTube视频

时间:2012-01-21 20:41:28

标签: html5 video mobile youtube

所以我正在开发一个项目,我正在使用YouTubes iframe嵌入代码,它可以在iPhone和Android设备等新设备上运行。但是,在较旧的Android和Blackberry上查看时,我会获得一些关于获取最新Flash Player的链接,并了解有关升级到HTML5浏览器的更多信息。为了解决这个问题,我决定尝试在网站中嵌入rstp链接,它适用于较旧的Androids但不适用于Blackberry

有没有人知道任何会使这更简单的事情?如果可能的话,我需要尝试在所有移动浏览器中播放视频,我一直在寻找一天,而且找不到任何东西。我想过做HTML5并使用视频标签,将它们转换为ogg,3gp和mp4或mpeg并让浏览器显示正确的但仍然无法在Blackberrys上运行。

1 个答案:

答案 0 :(得分:1)

对于任何可能遇到类似问题的人来说,这就是我想出来的。它不漂亮,但它有效。

<script>
if ( !location.href.match(/mobile=no/) ) {
    var useragents = [['blackberry9700', 'blackberry9780'], ['android 1.5', 'android 1.6', 'android eclair', 'android 2.0', 'android 2.1']];

    var agt = navigator.userAgent.toLowerCase();
    var mobile_type = 2;
    var i, j;

    for ( j=0; j<2; j++ ) {
        for ( i=0; i<useragents[j].length; i++ ) {
            if ( agt.indexOf(useragents[j][i]) != -1 ) {
                mobile_type = j;
                user_agent = agt;
                break;
            }
        }

        if ( mobile_type == j ) break;
    }

    switch ( mobile_type ) {
        case 0:
            document.write("<a href='nan.3gp'><img src='videoimg.png' alt='' width='310' height='151' /></a>");
            break;
        case 1:
            document.write("<a href='nan2.m4v'><img src='videoimg.png' alt='' width='310' height='151' /></a>");
            break;
        default:
            document.write("<iframe width='312' height='192' src='http://www.youtube.com/embed/aE2b75FFZPI?rel=0' type='text/html' frameborder='0' allowfullscreen></iframe>");
    }
}
</script>