【发布时间】:2019-02-03 08:11:10
【问题描述】:
我希望有人可以帮助解决这个问题。当我在页面上大约 5 个选项卡上时,我收到以下错误 Uncaught TypeError: YT.Player is not a constructor。我单击页面上的一个按钮,它会弹出一个模态窗口,我从中进行选择,并在控制台中关闭模态窗口时显示错误。
令人沮丧的是,使用与生产环境相同的数据和相同的编译参数,我无法在我们的 Dev 或 Staging 环境中复制自己的错误。一个区别是我们的生产服务器位于 NetScaler 后面。 NetScaler 可能是问题所在?
下面是我的视频代码。
<div class="videocontainer">
@if (!string.IsNullOrEmpty(video.VideoURL))
{
<script type="text/javascript">
var _gVideoTracked = false;
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
events: { 'onStateChange': onPlayerStateChange }
});
}
function onPlayerStateChange(event) {
switch (event.data) {
case 0:
break;
case 1:
if (!_gVideoTracked) {
BaGaTrack('Video Played', 'Played')
}
_gVideoTracked = true;
break;
case 2:
}
}
$(document).ready(function () {
$.getScript("https://www.youtube.com/iframe_api", function () {
player = new YT.Player('player', {
events: { 'onStateChange': onPlayerStateChange }
});
});
});
</script>
<iframe id="player" src="@video.VideoURL/?enablejsapi=1" allowfullscreen class="video"></iframe>
}
</div>
【问题讨论】: