【发布时间】:2020-10-21 16:02:32
【问题描述】:
我正在尝试在 Tizen Web 应用程序上使用 YouTube IFrame API 来展示我公司的视频项目,但其中许多视频显示“视频不可用”错误,并且从 onError 事件中我收到 错误代码 150。当然,所有视频都配置为允许嵌入。
例如,这个视频可以正常播放:
https://www.youtube.com/embed/XZc76zYrsdU
但是这个不会播放,并且会显示提到的错误:
https://www.youtube.com/embed/9t4UooKRhBQ
以下是我用来从我的应用中加载 YouTube IFrame 的一些代码:
// creating fullscreen div for the YouTube IFrame API to populate
var divYt = document.createElement("div");
divYt.setAttribute("id", "player");
divYt.style.width = "100%";
divYt.style.height = "100%";
divYt.style.position = "absolute";
divYt.style.top = "0";
divYt.style.left = "0";
divYt.style["z-index"] = "9999";
divYt.style["box-sizing"] = "unset";
document.body.appendChild(divYt);
$scope.player = new $window.YT.Player("player", {
videoId: $scope.videoIdSel, // the ID of the selected video
events: {
"onReady": onPlayerReady,
"onStateChange": onPlayerStateChange,
"onError": onPlayerError
}
});
如果用户选择示例中的第一个视频,一切正常,但如果选择第二个视频,则调用 onPlayerError 函数,返回data: 150
在网上查找时,我看到一些人认为该错误可能与版权声明有关,但在这种情况下,这两个视频都已被取消获利,所以我认为这不是我的问题。
注意:将链接粘贴到新标签页时也会发生此错误,但单击在同一页面中打开的链接时不会发生此错误。我还注意到,如果我在 Chrome 上以隐身模式打开第二个嵌入视频,它神秘地可以正常工作,但我当然不能在我的网络应用上这样做。
我很难理解是什么导致了这个问题。有人可以帮我吗?谢谢:)
【问题讨论】:
标签: javascript angularjs video youtube youtube-api