1

特定の YouTube チャンネルから最新のビデオを取り込む iframe がある場所に取り組んでいる Web サイトがあります。フラッシュを実行できるデスクトップまたはデバイスでは問題なく動作しますが、ユーザーが 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/です。

4

1 に答える 1

0

別のstackoverflow投稿でDrewidから取得しました...

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 ?html5=1 を iframe アドレスに追加することで、html 5 経由で YouTube をストリーミングすることもできます。

于 2013-08-29T20:35:23.537 に答える