0

私はphpを使用してYouTubeの親指を作成しており、fancyboxでiframe内で呼び出すYouTubeビデオを開く必要があります。fancybox 2 FAQ には次のように書かれています。

iframe からスクリプトを呼び出すことはできますか? 必要なすべてのファイルが親ウィンドウに含まれている場合は、次のようにできます。

<a href="javascript:parent.$.fancybox.open({href : 'myurl'});">Open something</a>

だから私はそれをしました、そして私のファンシーボックスは実際に意図したとおりにiframeから親ウィンドウに開きます。唯一の問題は、ビデオの代わりに「要求されたコンテンツを読み込めません。後でもう一度やり直してください」というメッセージが表示されることです。その理由は、おそらく http:address の問題であり、スクリプト エラーの場所がわかりません。

Iframeでリンクを作成するために使用しているスクリプト:

...some php here...

echo('
<div class="tube"><a title="'.$title.'" href="javascript:parent.Mybox.fancybox.open    ({href : \'http://www.youtube.com/v/'.$v.'?  feature=player_embedded&version=2&autohide=1&hd=1&modestbranding=1&rel=0&border=0&autoplay=0&fs=1&fmt=22 \'});"><img style="border:2px solid #000;margin:5px;" alt="'.$title.'" src="http://i1.ytimg.com/vi/'.$v.'/default.jpg"/></a>');

...some more php here...

それが生成する結果は次のようになります

<div class="tube"><a title="MyTitle" href="javascript:parent.Mybox.fancybox.open({href : 'http://www.youtube.com/v/J0_5JEJdB5g?feature=player_embedded&version=2&autohide=1&hd=1&modestbranding=1&rel=0&border=0&autoplay=0&fs=1&fmt=22 '});"><img style="border:2px solid #000;margin:5px;" alt="MyVideo" src="http://i1.ytimg.com/vi/J0_5JEJdB5g/default.jpg"/></a><p>09.11.2012<br/>MyVideo<br/>213times</p></div>

それで、私は何を間違っていますか?「myurl」または私の fancybox 設定の何が問題になっていますか?

ファンシーボックスの設定は次のとおりです。

<script type="text/javascript">

Mybox(document).ready(function() {
    Mybox('#tubeframe')
            .attr('rel', 'media-gallery')
            .fancybox({
                openEffect : 'elastic',
                closeEffect : 'fade',
                prevEffect : 'none',
                nextEffect : 'none',
                padding : 0,
                autoScale   : true,
                fitToView  : true,
                height      : 475,
                width           : 846,
                fixed : true,
                arrows : false,
                helpers : {
                    media : {},
                    buttons : {},
                    title: {
                type: 'outside'
    },
                overlay : {
                    opacity: 0.7,
                    css : {
                    'background-color' : '#433'
        }
    }
                }
            });
 });

     </script>  
4

1 に答える 1

0

何日もの検索の後、ここに記載されている解決策が見つかりました:

親で開くように iframe 内から iframe fancybox を開きます

ファンシーボックスの設定がすべて

于 2012-08-25T10:28:53.917 に答える