0

我正在尝试使用 jquery 循环插件在幻灯片中显示许多嵌入的 Vimeo 视频,用户可以手动浏览这些视频。这一切在所有桌面浏览器上都能完美运行,但由于某种原因,如果您开始播放视频,则在 ipad 上它会在您离开时从幻灯片中消失。你可以在http://jsfiddle.net/deshg/gPfg7/看到一个例子。在播放任何视频之前尝试单击上一个/下一个几次,它在桌面和 ipad 上都可以正常工作。现在重新加载它并单击第一个视频上的播放,然后单击下一个,然后单击上一个,这样您就回到了第一张幻灯片。这适用于桌面,但在 ipad 上,视频消失了,但音频仍在播放。

我在 YouTube 上尝试了类似的事情,看看它是否是 iframe/视频问题,这也不起作用,但幻灯片并没有变成空白,它似乎只是显示一个没有内容或控件的黑色 YouTube 播放器(但音频是仍在播放):http: //jsfiddle.net/deshg/gPfg7/2/。我一生都无法理解为什么会发生这种情况,也无法在其他地方找到任何参考,如果有人能解释为什么会发生这种情况,那将不胜感激。

非常感谢,

戴夫

4

2 回答 2

0

只是为了不让你疯狂地尝试测试你的代码,Youtube 在过去的 24 小时里一直在不断变化,至少在 iMac 上是这样。这可能与您的问题有关,也可能无关,但我暂时不会使用 Youtube 来测试任何东西。

于 2012-07-11T21:47:49.787 回答
0

这是一个“无法回答”的答案:让 Vimeo 视频与 JavaScript/jQuery 显示/隐藏一起工作是一件非常痛苦的事情。别介意让事件与他们的 javascript API 一起工作。

RANT他们的文档还有很多不足之处。有时,即使提供了他们自己的示例,也无法正常工作。在与 JavaScript 的交互方面,YouTube 领先于 Vimeo 数英里,并且性能更可靠。结束咆哮

我不知道您的目标浏览器是什么,但也知道使用 JavaScript 显示/隐藏 Vimeo 视频会导致在不同浏览器中出现一些奇怪的行为。

我发现我需要做的是几件事:

  • 如果 IE 是一个问题,不幸的是,您将不得不使用 Flash 嵌入方法。对不起iOS。使用 JavaScript 显示/隐藏嵌入 HTML5 的视频将导致随机视频加载带有黑框,而不是“关键帧”。这确实是一种非此即彼的情况 - 所以选择对您更重要的一个:IE 或 iOS。听起来您将不得不忍受 IE 用户看到随机黑框。
  • 如果您依赖 Vimeo JavaScript API 来响应某些事件,那么显示/隐藏它们以使其跨浏览器工作也有点奇怪。我自己尝试了 Cycle 插件,但它杀死了某些其他事件(例如当用户切换到另一张幻灯片时暂停播放视频)。我最终要做的是将一个类附加到其中包含视频的“活动”容器中。然后我将 CSS 设置为<object>绝对定位在 -4000 像素(即远离页面)。当一个容器变得“活跃”时,它就<object>变成position:static了把它带回到页面上。因此,从技术上讲,视频永远不会从 DOM 中删除,只是重新定位。

这两个子弹总结了我在处理 Vimeo 视频时所经历的许多小时的痛苦。(YouTube 很快,但客户坚持使用 Vimeo)有很多“WTF”和 facepalm 时刻。我希望我已经为您节省了一点时间。

于 2012-07-11T14:13:02.207 回答