【发布时间】:2014-09-23 01:18:46
【问题描述】:
This fiddle 复制自官方示例given here,但getCurrentTime() 在 IE0 上似乎总是返回 0。有没有人遇到过同样的问题?
【问题讨论】:
标签: javascript internet-explorer iframe youtube-api internet-explorer-10
This fiddle 复制自官方示例given here,但getCurrentTime() 在 IE0 上似乎总是返回 0。有没有人遇到过同样的问题?
【问题讨论】:
标签: javascript internet-explorer iframe youtube-api internet-explorer-10
这是由于 iframe API 处理 flash/html5 支持的方式。
与 Flash 和 JavaScript 播放器 API 都涉及在您的网页上嵌入 Flash 对象不同,IFrame API 将内容发布到您网页上的标签。这种方法提供了比以前可用的 API 更大的灵活性,因为它允许 YouTube 为不支持 Flash 的移动设备提供 HTML5 播放器而不是 Flash 播放器。
这意味着它将:
由于某些原因,当两者都可用时,闪光灯无法正常工作。发生这种情况的已知情况有:
两种解决方案:
html5=1。我已经写了 a jQuery plugin 来实现所有的黑客和修复,拿走你需要的东西,希望它有所帮助。
【讨论】:
是的,我遇到了类似的问题。对我来说,getCurrentTime() 返回 0,但并非总是如此 - 当我播放 youtube 视频时,它工作正常,但是当我在 youtube 视频之后播放 Brightcove 视频,然后返回 youtube 时,它返回 0。 其他人也有类似的问题,这里有讨论:https://productforums.google.com/forum/#!topic/youtube/F5CEukwhitA
这个问题似乎与与其他库的冲突有关,我也相信我的应用程序就是这种情况。尝试删除其他第三方库并关闭浏览器扩展,看看问题是否仍然存在。
顺便说一句,您是否尝试在 jsfiddle 之外(即在应用程序中)运行代码?
在我的例子中,getCurrentTime() 返回 0 的原因是它附加到了分离的 DOM 树中的节点。当 AngularJS 和 jQuery 一起使用时,这是一个已知的情况,并且对不存在(已删除)的 DOM 元素的引用仍保留在 jQuery 缓存中。
基本上,检查您的播放器连接到哪个节点,以及您是否没有任何副本。
正是播放器对象中嵌套的 o 对象让我走上了正轨。 PlayerState 一直是 3,没有下载字节等。
【讨论】: