在Android Kitkat上模拟鼠标点击Youtubevideo
Youtube允许在iframe代码的帮助下嵌入用户创建的播放列表。 我想将它们嵌入到网页上,以便在Android(Kitkat 4.4)电视盒硬件上播放。 但是,它要求用户首先点击video。
我发现Apple iOS和Android在大多数移动平台上禁用自动播放以避免糟糕的用户体验
但是,是否可以使用Jquery或纯JS解决方案(首选)模拟用户单击iframe。 像这样的东西:
function myFunction() { setTimeout(function() { ("#myiframe").triggerHandler('click'); },3000) };
如果有人能帮助我,我将非常感激,因为这个function对我的目的至关重要,而且我已经广泛搜索但无法得到正确的解决方案。
谢谢dkj
早上好,dkjain,
就我在Youtube Player API文档中所读到的,一旦加载Player就会触发几个事件,其中一个应该使用的事件是onReady()
事件。
以下是有关如何自动播放单个video或播放列表的一些更新代码:
HTML:
将是Youtube播放器的占位符
播放播放列表(使用playerVars
):
JS:
var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '390', width: '640', playerVars: { 'listType': 'playlist', 'list': 'PLi5VEqNXXQjVJ4-xZb92wTUawkSQRal0u' }, events: { 'onReady': onPlayerReady } }); } window.onYouTubeIframeAPIReady = onYouTubeIframeAPIReady; // as soon as the player is loaded, start the playback function onPlayerReady(event) { event.target.playVideo(); } var tag = document.createElement('script'); tag.src = "http://www.youtube.com/iframe_api"; document.head.appendChild(tag);
还有一个autoPlay: 1
playerVar,但这似乎不适用于移动平台: https : //developers.google.com/youtube/iframe_api_reference#Mobile_considerations
播放单个video
JS:
var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '390', width: '640', videoId: 'nhX4rQ79C1A', events: { 'onReady': onPlayerReady } }); } window.onYouTubeIframeAPIReady = onYouTubeIframeAPIReady; // as soon as the player is loaded, start the playback function onPlayerReady(event) { event.target.playVideo(); } var tag = document.createElement('script'); tag.src = "http://www.youtube.com/iframe_api"; document.head.appendChild(tag);
JSFiddles显示上面的代码:
单个video: http : //jsfiddle.net/Moonbird_IT/akjpmvpf/
播放列表: http : //jsfiddle.net/Moonbird_IT/akjpmvpf/4/ (再次更新)
让我知道我们是否正朝着正确的方向前进:-)