1

我将 YouTube 的 API 用于嵌入式视频。我对每个页面上的每个视频都使用完全相同的 API 代码。但是在一个特定的视频上,它会加载字幕,但仅限于第一次运行。点击刷新,字幕消失。清除缓存和 cookie,它们又回来了。

为什么一个视频会出现这种行为,而其他共享相同代码的视频却没有?

好的,这是 HTML 标记:

<div id="youTube" data-video-id="[YouTube video ID here]"></div>

这是 API 代码:

window.onYouTubeIframeAPIReady = function () {
    player = new YT.Player('youTube', {
        videoId: $("#youTube").data("videoId"),
        playerVars: {
            'rel': 0,
        },
        events: {
            'onReady': function () {
                player.unMute();
                player.setVolume(35);
                player.playVideo();
            },
            'onStateChange': function () {
                if (player.getPlayerState() == 2 && !counted) {
                    viewCount++;
                    counted = true;
                }
            }
        }
    });
}

哦,这里还有一些相关信息:

  • 该错误在任何客户端上都是可重复的,并且无论是部署到服务器还是从 localhost 都会显示出来。

  • 我无法摆脱使用 'cc_load_policy': 0 的字幕,

  • 在 YouTube.com 上观看视频时不显示字幕

  • 当我使用 iframe 嵌入代码而不是完整的 API 时,我没有得到字幕:

  • 同样,我有其他视频共享相同的 API 代码,没有字幕错误。

* 更新 *

好的,现在我在其他视频中看到了同样的行为。这过去没有发生过,所以我认为这是 YouTube 方面的事情。

...尽管如此,我仍然希望得到一些帮助。这是一个jsfiddle:

https://jsfiddle.net/4ruz2xcx/3/

4

0 回答 0