2017-02-24 49 views
0

我們與YouTube視頻模式的網頁,但出現以下錯誤上的視頻時,點擊:的YouTube模式的靜態

Uncaught TypeError: $(...).on is not a function 
at HTMLAnchorElement.<anonymous> ({bfd8100b-7a47-4b28-9e6d-e26f4a7d9ed9}_ytplayer001.js:747) 
at HTMLAnchorElement.handle (jquery.tools.min.js:75) 
at HTMLAnchorElement.o (jquery.tools.min.js:69) 

視頻模式像它應該彈出,但顯示了「雪域」屏幕並且視頻播放器控制器不響應。我認爲這可能與衝突問題有關,並且改變了

}(jQuery));

}(jQuery.noConflict()));

但問題依然存在。我想我錯過了一些非常明顯的東西,但經過幾天的故障排除後,仍然無法弄清楚。

更新 - 當我刪除jquery.tools.min.js文件時,視頻播放,但表單驗證停止工作。所以有一些與YouTube視頻衝突的jquery.tools.min.js文件。

更新 - 用當前版本替換jquery.tools.min.js解決了視頻和表單驗證的問題。剩下的就是搞清楚爲什麼視頻模式上的關閉按鈕不起作用。當打開視頻模式,會出現以下錯誤:

TypeError: $(...).on is not a function 
$('.vid-close').on('click', function() { 
+0

有沒有什麼可以做一個樣品頁中的任何機會,它只有這個代碼,所以我們可以針對這個問題而不用去查看所有其他的僞代碼? –

+0

看起來在你的代碼中你多次使用相同的ID(例如:'video-component,featuredMedia'等)。不要這樣做。 Ids應該是獨一無二的。 – Ionut

回答

1

更改此:

$(document).on('click', '.vid-close', function() { 
    $('#vidlightbox').hide(); 
    if (videosource == "youtube") { 
     $('#vidcontent').empty(); 
     att.entbus.ytPlayer.stopAll(); 
    } else { 
     if (jwplayer('jwPlayer') != null) { 
      try { 
      jwplayer('jwPlayer').remove(); 
      } catch(err) {} 
     } 
    } 
}); 

更改爲:

$('.vid-close').on('click', function() { 
    $('#vidlightbox').hide(); 
    if (videosource == "youtube") { 
     $('#vidcontent').empty(); 
     att.entbus.ytPlayer.stopAll(); 
    } else { 
     if (jwplayer('jwPlayer') != null) { 
      try { 
      jwplayer('jwPlayer').remove(); 
      } catch(err) {} 
     } 
    } 
});