1

これは私が昨年使用しているコードです。それはうまくいきます!

$("#videos a").click(function() {
    if ($(this).hasClass('youtube')) {
        $.fancybox({
            'padding'       : 0,
            'autoScale'     : false,
            'transitionIn'  : 'none',
            'transitionOut' : 'none',
            'title'         : this.title,
            'width'         : $(this).attr('data-width'),
            'height'        : $(this).attr('data-height'),
            'href'          : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
            'type'          : 'swf',
            'swf'           : {
                'wmode'     : 'transparent',
                'allowfullscreen'   : 'true'
            }
        });

        return false;
    }
});

このコードを iPad で使用すると、ビデオが表示されます。動画が iPad で表示できない場合は、再生ボタンに取り消し線が引かれた YouTube アイコンが表示されます。

iOS6以降、これは機能しなくなりました。コードは何も変更されていません。代わりに、白いポップアップが表示されます。誰かがこれに出くわしましたか?誰かが原因を知っていますか?

Fancybox 1.3.4 を使用しています

4

1 に答える 1

9

さまざまなプラットフォームで YouTube 動画にアクセスしやすくするには、( swfプレーヤーhttp://www.youtube.com/watch?v=3l8MwU0IjMIを使用する) 形式の使用をやめ、代わりにメソッドを使用する必要があります (タブを選択して YouTube から正しいコードを取得できます)。embedshare

したがって、これの代わりに:

<a class="fancybox" href="http://www.youtube.com/watch?v=3l8MwU0IjMI">open youtube video in fancybox</a>

... これを行う :

<a class="fancybox" href="http://www.youtube.com/embed/3l8MwU0IjMI?autoplay=1">open youtube video in fancybox</a>

次に、fancybox (v1.3.4) スクリプトを変更して、好きなコンテンツtypeを開きますiframe

$(".fancybox").fancybox({
 "width": 620, // or whatever
 "height": 420,
 "type": "iframe"
});
于 2012-11-13T19:12:36.667 に答える