別の YouTube 動画を反映したページに「TAB」があります。Iframe API を使用してビデオ オン デマンドを読み込みます。IE 8 [私たちのページは HTML 5] を除いて、すべてのブラウザですべて正常に動作します。ここで言及されているように、未特定のエラーが発生し始めます[49行目のYouTube iframe APIエラー。その後、「削除」ビデオコードを変更すると問題が解決しました。
ただし、ユーザーが TAB をクリックすると、最初に画面全体が空白になり、次にビデオがレンダリングされ、数秒後に完全なページが購入されます。変更して新しい DIV と ID を配置し、次に新しい Player を配置するのは単なる Javascript であるため、そのようなことは起こらないはずです。率直に言って、新しいページの読み込みは、ページ内の新しい Youtube ビデオを削除して配置するよりも高速です。
パフォーマンスを向上させる方法についてのアイデアはありますか?
function AddVideo(videoid,playerid){
if(player != undefined) {
stopVideo();
player.destroy();
}
jQuery("#player").remove();
jQuery("." + playerid).html('<div id="player"></div>');
player = new YT.Player('player', {
height: '360',
width: '623',
videoId: videoid,
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
上記は私のJSコードで、プレーヤーを削除して元に戻します。HTML には、li の後に Data-youtube と親 DIV 参照を含むタグが続き、そこで「プレーヤー」div を追加してから、iframe youtube ビデオも追加します。