我正在使用SwipeView(http://cubiq.org/swipeview)在触摸屏设备上创建可滑动的幻灯片.这对图像来说很简单,但我想在幻灯片中加入Vimeo视频.不幸的是,因为iFrame的捕捉你刷卡输入自己(我相信这是发生了什么,至少发生),一旦你在视频播放幻灯片,除非你的分页挖掘你再也不能刷卡远离它来了.这是不可接受的.
我的解决方案是在页面的某处隐藏视频(使用display:none;或者height:0;或者其他任何工作),并使用幻灯片中的图像和触发视频播放的点击事件.即使视频被隐藏,当它播放时它应该全屏播放(至少在iPhone上).
当我在桌面浏览器上测试它时,这项技术运行正常,但它在iPhone上表现得很奇怪.出于测试目的,视频显示在幻灯片下方.如果我加载页面并点击幻灯片,它什么都不做.但是,如果我通过点击实际的视频播放器播放视频,一旦视频关闭,我可以通过点击幻灯片再次播放视频.基本上,一旦通过播放器播放视频,我就可以通过API播放视频,但不能先使用播放器.
这是我的代码:
// Append the "hidden" video player to the page $('.slider-container').append(""); // Get the player object var iframe = $('#slideshow-player')[0], player = $f(iframe); // When the video is ready player.addEvent('ready', function() { // Add the click event to the slide $('#play-video').on('click', function() { // Play the video player.api('play'); // Don't jump the page return false; }); });
我已经通过测试确定了player.ready事件正常工作,并且图像的点击事件正常工作.问题似乎完全在于player.api('play')
电话中.任何帮助,或实现这一点的替代方法将不胜感激.