我正在尝试在具有响应功能的fancybox中使用youtube视频,以便它可以根据我使用过jquery.fancybox-media.js的设备调整其尺寸,并且它在桌面上运行良好,但视频不能在iPad上播放.
访问http://fancyapps.com/fancybox/然后点击 Youtube(iframe) 它只能在桌面上播放,但不能在 iPad 上播放。
它使用 jquery.fancybox-media.js
我正在尝试在具有响应功能的fancybox中使用youtube视频,以便它可以根据我使用过jquery.fancybox-media.js的设备调整其尺寸,并且它在桌面上运行良好,但视频不能在iPad上播放.
访问http://fancyapps.com/fancybox/然后点击 Youtube(iframe) 它只能在桌面上播放,但不能在 iPad 上播放。
它使用 jquery.fancybox-media.js
从 fancybox 2.1.0 版开始,有一个iframe
API 选项允许您预加载 iframe 的内容;默认值为true
.
不幸的是,自从 jQuery v1.9+ 以来,我已经看到这个选项在尝试显示iframe
内容时会以某种方式产生问题,特别是流媒体或 PDF 文档。
作为一种解决方法,我一直在禁用iframe
预加载,这解决了许多报告的问题。
Fancybox 使用iframe
youtube 视频的类型,但他们的主页仍然使用默认值 ( true
),但是在您自己的网页中,您应该禁用此选项,您的 youtube 视频将在 iPhone/iPad 上正常工作:
例如这个hrml
<a class="fancybox" href="http://www.youtube.com/embed/3l8MwU0IjMI?wmode=opaque&autoplay=1">show youtube in fancybox</a>
... 用这个脚本
jQuery(document).ready(function($) {
$(".fancybox").fancybox({
width: 620, // or whatever
height: 420,
type: "iframe",
iframe : {
preload: false
}
});
}); // ready
...应该可以正常工作。
请注意,该autoplay=1
参数在移动设备中不起作用,因此您仍然需要click
在视频上启动(这对我来说很有意义,因为您可能不想无意中浪费您的数据计划)
请参阅iPad 中的JSFIDDLE ;)
编辑:如果您不想拥有固定iframe
大小(响应能力),那么只需摆脱大小选项,例如:
jQuery(document).ready(function($) {
$(".fancybox").fancybox({
type: "iframe",
iframe : {
preload: false
}
});
}); // ready
在 iPad 中查看更新的JSFIDDLE