将 Youtube 嵌入 Modal 时访问被拒绝错误

Posted

技术标签:

【中文标题】将 Youtube 嵌入 Modal 时访问被拒绝错误【英文标题】:Access denied errors when embedding Youtube into Modal 【发布时间】:2012-04-27 07:22:30 【问题描述】:

我有一个页面,用户可以在其中将 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"  /> 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 blah blah 的框架”错误,但视频播放并且一切似乎都正常,但在 IE 中,我收到 SCRIPT5:访问被拒绝。我已经在网上搜索过,并且在这个网站上搜索过解决方案,但运气为 0。任何人都知道解决此问题或更好的方法吗?我使用了模态(qtip2),这是唯一的要求。我所有的 jquery 库也是最新的。

【问题讨论】:

【参考方案1】:

尝试将此添加到您的代码中:

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

【讨论】:

以上是关于将 Youtube 嵌入 Modal 时访问被拒绝错误的主要内容,如果未能解决你的问题,请参考以下文章

HSQL 访问被拒绝加载文件

html 关闭Modal(BootStrap)时停止Youtube视频

删除 youtube 嵌入的黑色边框

视频结束时的 Youtube 嵌入操作

将 SSAS 元数据导入 OBIEE 时访问被拒绝

将文件从 HDFS 放入 S3 存储桶时访问被拒绝