我非常确定 YouTube Iframe API“onError”事件过去会触发,因为我运行一个基于此 API 的项目。但最近“onError”事件不会触发,即使是最简单的错误。
\n这是一个基于官方页面(https://developers.google.com/youtube/iframe_api_reference)的简单示例代码,并且是可行的:
\n<iframe id="existing-iframe-example"\n width="640" height="360"\n src="https://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1"\n frameborder="0"\n style="border: solid 4px #37474F"\n></iframe>\n\n<script type="text/javascript">\n var tag = document.createElement(\'script\');\n tag.id = \'iframe-demo\';\n tag.src = \'https://www.youtube.com/iframe_api\';\n var firstScriptTag = document.getElementsByTagName(\'script\')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n var player;\n function onYouTubeIframeAPIReady() {\n player = new YT.Player(\'existing-iframe-example\', {\n events: {\n \'onReady\': onPlayerReady,\n \'onStateChange\': onPlayerStateChange,\n \'onError\': onError\n }\n });\n }\n function onError(event) {\n console.log(event.data)\n }\n \n function onPlayerReady(event) {\n \n }\n\n function onPlayerStateChange(event) {\n console.log(event.data);\n }\n</script>\nRun Code Online (Sandbox Code Playgroud)\n一旦将视频 ID 字符串“M7lc1UVf-VE”更改为错误的字符串,例如“M7lc1UVf”,它应该触发“onError”事件,但现在不会。
\n …