1
我創建了下面的代碼,以使視頻懸停播放:無法讀取屬性未定義「應用」 - YouTube API取得
var player = [];
var el_number;
function onYouTubePlayerAPIReady() {
\t var players = $(".video");
\t for (var i = 0; i < players.length; i++) {
\t \t el_number = $(players[i]).parent().parent().index();
\t \t player[i] = new YT.Player(players[i], {
\t \t \t events: {
\t \t \t \t 'onReady': onPlayerReady(i, el_number)
\t \t \t }
\t \t });
\t }
}
function onPlayerReady(number, elnumber) {
\t $(".article:eq("+elnumber+")").on({
\t \t 'mouseover': function() {
\t \t player[number].playVideo();
\t \t },
\t \t 'mouseout': function() {
\t \t player[number].pauseVideo();
\t \t }
\t });
}
<script src="https://www.youtube.com/iframe_api"></script>
<!-- Videos look like this: -->
<iframe class='video' src='https://www.youtube.com/embed/(video_id)?controls=0&showinfo=0&disablekb=1&fs=0&iv_load_policy=3&&enablejsapi=1' frameborder='0' allowfullscreen></iframe>
這工作完全正常,但裝載的一段時間後,腳本它顯示我在控制檯中的這個錯誤:
Uncaught TypeError: Cannot read property 'apply' of undefined www-widgetapi.js:65
at K.g.I (www-widgetapi.js:65)
at W.g.l (www-widgetapi.js:114)
at W.g.J (www-widgetapi.js:127)
at S.g (www-widgetapi.js:143)
at k (www-widgetapi.js:95)
我ckecked Opera和Edge沒有錯誤。禁用每個擴展後,Chrome仍然存在這個問題。這裏問題的根源是什麼?
其實你不」 t甚至需要存儲玩家索引,因爲你可以通過'event.target'直接獲得玩家,請參閱我更新的帖子 –
非常感謝你! – Telion