YouTube IFrame API启用YouTube历史记录时起始时间失效问题
YouTube IFrame API 设置的起始时间在登录且开启历史记录时失效
问题描述
当用户登录YouTube且启用YouTube历史记录时,通过YouTube IFrame API设置的视频起始时间将失效,视频加载后会自动跳转到历史记录中保存的上次播放位置。
重现步骤
- 登录youtube.com
- 进入
accounts.google.com> 数据与隐私 > 开启YouTube历史记录 - 运行下方的HTML测试脚本
- 将视频进度调整至约2分钟位置,播放几秒后暂停
- 按
ctrl+shift+R强制刷新页面
预期结果
- 视频应从25分钟(1500秒)处开始加载
实际结果
- 视频会从2分钟(或历史记录中保存的上次播放位置)处开始加载
测试代码
<html> <script src="https://www.youtube.com/iframe_api" type="application/javascript"></script> <script> let player; function onYouTubeIframeAPIReady() { console.log('ready') player = new YT.Player('player', { sandbox: true, height: '390', width: '640', videoId: 'T9oT-oOaTNU', playerVars: { 'playsinline': 1, 'autoplay': 0, 'start': 1500 }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); player.seekTo = (n) => { console.log({ n }); } } // API会在播放器准备就绪时调用此函数 function onPlayerReady(event) { //event.target.playVideo(); } // API会在播放器状态变化时调用此函数 let done = false; function onPlayerStateChange(event) { } function stopVideo() { player.stopVideo(); } </script> <body> <div class="responsive-embed widescreen"> <div class="embed video-player"> <div id="player"></div> </div> </div> </body> </html>
内容的提问来源于stack exchange,提问作者noypi
相关产品推荐
相关产品推荐

