2012-04-15 29 views
2

我有一个页面,用户可以在其中发布Youtube视频到论坛。将Youtube嵌入到Modal时访问被拒绝错误

用户帖子的链接到视频的链接转换为这样的事情后:

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

的$ vidID仅仅是你在每一个YouTube视频的网址看到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>"; 
?> 

在铬我得到“不安全的JavaScript尝试访问框架与URL等等等等”错误,但视频播放和一切似乎正常工作,但在IE浏览器我得到SCRIPT5:访问被拒绝。我已经搜索了网站,并在这个网站上寻找解决方案,但运气不错。任何人都知道为这个或更好的方法工作?我使用模态(qtip2),这是唯一的要求。我所有的jquery库都是最新的。

回答

0

尝试增加给你的代码:

$('iframe').each(function(){ 
    var url = $(this).attr("src"); 
    $(this).attr("src",url+"?wmode=transparent"); 
});