JQModal 在 iframe 上显示并使用 ?wmode=opaque

Posted

技术标签:

【中文标题】JQModal 在 iframe 上显示并使用 ?wmode=opaque【英文标题】:JQModal showing over iframe and use of ?wmode=opaque 【发布时间】:2013-09-18 18:21:00 【问题描述】:

这是一个很好的...

使用 JQModal 的网站,除了 iframe 位于模态框顶部之外,一切正常。

简单的解决方法是将 ?wmode=opaque 添加到 youtube 链接的末尾,但这会破坏我在模型关闭时启动视频的 javascript

想法?

以下是相关代码:

html

  <div>
     <iframe id='youTube_video'   src="//www.youtube.com/embed/io78hmjAWHw" frameborder="0" allowfullscreen></iframe>
  </div>

Javascript:

jQuery(function($)
$('#my-modal').jqm(
    overlayClass: 'jqm-overlay',
    closeClass: 'jqm-close',
    onHide: function(hash)
        $('#youTube_video').attr('src', $('#youTube_video').attr('src')+ '?autoplay=1');
        hash.w.fadeOut('2000', function() hash.o.remove(););
    

)
$('#my-modal').jqmShow()
);

如您所见,当用户点击页面时,模式关闭,视频开始播放。如果没有 ?wmode=opaque,则 iframe 位于前面。如果我将 ?wmode=opaque 添加到 html URL,它会破坏视频启动脚本。

想法?

【问题讨论】:

这是模态框如何消失在 iframe 后面的屏幕截图 d.pr/i/y5SP 【参考方案1】:

这样做有什么问题?

$('#youTube_video').attr('src', $('#youTube_video').attr('src')+ '?autoplay=1&wmode=opaque');

【讨论】:

不幸的是,iframe 在页面加载时需要是 &wmode=opaque 以便它保持在 JQModal 之后。如果在视频开始后加载模态框,这将起作用。

以上是关于JQModal 在 iframe 上显示并使用 ?wmode=opaque的主要内容,如果未能解决你的问题,请参考以下文章

在 iframe 中显示和下载 pdf

如何裁剪Iframe的内容以显示页面的一部分?

在 Android 浏览器上嵌入谷歌文档查看器 iframe

检测在移动设备上离开全屏 iframe

将事件处理程序附加到在IFrame中呈现的HTML

使用 iframe 在 SSL 站点上显示具有绝对 URL 的非 SSL 内容 [重复]