我尝试启动视频,但收到错误
TypeError: 'undefined' is not a function (evaluating '$("video")[0].play()')
但一切都在其他浏览器中完美运行
$('a').bind('click', function() {
$('video')[0].play();
});
<video controls>
<source id="webm" src="/video.webm" type="video/webm" />
<source id="mp4" src="/video.mp4" type='video/mp4'/>
</video>
答案 0 :(得分:3)
我不明白为什么现在还没有正确回答这个问题,但是这里有:
适用于Windows的最新Safari版本非常陈旧(v5最初于2010年发布),并且很可能不支持html5视频,因此$('video')[0]
查找的DOM元素没有{{1功能。
答案 1 :(得分:1)
如果您在Windows上使用safari,则必须安装 QuickTime 播放器。没有它,视频将无法播放。
答案 2 :(得分:0)
play
不是jQuery函数,而是DOM元素的函数。因此,您需要在DOM元素上调用它。
你可以试试这个:
$('video').get(0).play();
如果你想这样做以适应现有的jQuery选择 - 将是$('#videoId').get(0).play()
。
更新
我认为你也必须使用.preventDefault()
方法。根据您的代码,您可以尝试将事件添加到preventDefault()
。
$('a').bind('click', function(e) {
e.preventDefault();
$('video')[0].play();
});