1

埋め込み動画には YouTube の API を使用しています。すべてのページのすべての動画にまったく同じ API コードを使用しています。ただし、ある特定のビデオでは、字幕が読み込まれますが、最初の実行のみです。更新を押すと、字幕が消えます。キャッシュと Cookie をクリアすると、元に戻ります。

この動作が 1 つの動画で見られるのに、同じコードを共有する他の動画では見られないのはなぜですか?

わかりましたので、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 で動画を視聴すると字幕が表示されない

  • 完全な API の代わりに iframe 埋め込みコードを使用すると、字幕が表示されません。

  • 繰り返しになりますが、同じ API コードを共有し、字幕のバグがない他の動画があります。

* アップデート *

わかりました。他の動画でも同じ動作が見られます。これは以前はなかったので、YouTube 側の問題だと思います。

…とはいえ、これについて調べるのにまだ助けが必要です。ここにjsfiddleがあります:

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

4

0 に答える 0