2

ユーザーが Youtube ビデオをフォーラムに投稿できるページがあります。

ユーザーがビデオへのリンクを投稿すると、リンクは次のように変換されます。

<a href='javascript:void(0)' class='video_player' data-videoid='http://www.youtube.com/embed/$vidID'>$video_title</a>

$vidID は、すべての YouTube ビデオの URL に表示される YouTube ビデオ ID です。ユーザーがリンクをクリックして動画を再生すると、動画が埋め込まれたモーダルが開きます。モーダルのJSは次のとおりです。

$('.video_player').live('mouseover', function(event) {//VIDEO PLAYER MODAL
    var videoid = $(this).attr("data-videoid");
    var sourcepage = $(this).attr("data-sourcepage");
    $(this).qtip({
     id: 'videomodal',
     content: {
            text: '<img src="images/loading.gif" alt="Loading..." /> Loading..please wait.',
            ajax: {url: 'modals/video_player.php',type: 'GET',data: { videoid: videoid, sourcepage: sourcepage}},
            title: { text: 'Video Player', button: true }
     },
     position: {    my: 'center', at: 'center', target: $(window) },
     show: { event: 'click', solo: true, modal: true },
     hide: false,
     style: 'ui-tooltip-tipsy ui-tooltip-rounded higher-zindex',
     events: {
        hide: function(event, api){
         auto_refresh = setInterval(function (){$('#bottom_middle').load(thisurl + '&timer=' + new Date().getTime() + ' #bottom_middle' );}, 5000);             
         $(this).qtip("destroy"); 
        }
     },  
    });
return false;
});

video_Player.php のコードは次のとおりです: (非常に基本的なモーダルがこのページをロードし、ビデオを再生するために必要な iframe を埋め込みます)

<?PHP
 $videoid = $_GET['videoid'];
 $sourcepage = $_GET['sourcepage'];

 echo "<iframe title='YouTube video player' width='480' height='390' src='$videoid' frameborder='0' allowfullscreen></iframe>";   
?>

Chrome では「安全でない JavaScript が URL 何とか何とかしてフレームにアクセスしようとしています」というエラーが表示されますが、ビデオが再生され、すべてが正常に機能しているように見えますが、IE では SCRIPT5: アクセスが拒否されています。Web とこのサイトで解決策を検索しましたが、運がありませんでした。これまたはより良い方法の回避策を知っている人はいますか? 私はモーダル(qtip2)を使用していますが、それが唯一の要件です。私のjqueryライブラリもすべて最新です。

4

1 に答える 1