我正在处理由其他人编写的代码,它是加载图像和YouTube视频。我理解他可以改变脚本的优先级。现在,当某人在iPhone上使用iPhone时,他们击中了图像前面的播放按钮,视频无法播放,因为该脚本尚未完成加载。如何更改下面的代码,以便如果页面或此脚本未完成加载,最终用户将看不到播放按钮?如何优先使用Javascript
顺便说一句,这个问题不会发生在Android设备上,所以我不确定这段信息是否会成为线索。
我希望这是有道理的,因为我仍然试图绕过它。
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player1;
var player2;
function onYouTubeIframeAPIReady() {
player1 = new YT.Player('player', {
height: '390',
width: '640',
playerVars: {
'controls': 0,
'rel': 0
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
jQuery('.video-overlay').click(function() {
event.target.setVolume(100);
event.target.setPlaybackQuality('hd1080');
setTimeout(function() {
jQuery('.video-overlay').css('transform', 'scale(0)');
jQuery('.homepage-tagline').hide();
}, 300);
event.target.playVideo();
});
}
// 5. The API calls this function when the player's state changes.
// The function indicates that when playing a video (state=1),
// the player should play for six seconds and then stop.
var done = false;
function onPlayerStateChange(event) {
jQuery('.video-overlay').click(function() {
event.target.setPlaybackQuality('hd1080');
jQuery('.video-overlay').hide();
jQuery('.slider-overlay').hide();
event.target.playVideo();
});
}
function stopVideo() {
player.stopVideo();
}
我尝试添加这段代码:
jQuery('.video-overlay').css('opacity', 0);
,但它并没有做太多。
带给玩家0不透明性和在'onPlayerReady'功能添加代码将其设置为1.还提到*平台*比提及*浏览器*少得多。 iOS上的Chrome与Android或Safari有相同的行为吗?看到? –
看起来像你的视频覆盖是你点击播放它,为什么不把它藏在CSS,然后在您的视频播放器做了'.show'的东西准备好 – Pete