我创建了一个新页面,特别是为了测试API.复制粘贴他们的例子时
<div id="player"></div>
Run Code Online (Sandbox Code Playgroud)
和
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
Run Code Online (Sandbox Code Playgroud)
一切正常.
现在当我删除它<div id="player"></div>而改为替换它
<iframe id="player" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/GuVq-TZ7AJM?enablejsapi=1" frameborder="0"></iframe>
Run Code Online (Sandbox Code Playgroud)
它不再有效.它永远不会进入onPlayerReady或onPlayerStateChange.奇怪的是它昨晚正在工作,今天却没有.我附上了我的完整代码以防它可能有所帮助.
<!DOCTYPE html>
<html>
<body>
<!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
<iframe id="player" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/GuVq-TZ7AJM?enablejsapi=1" frameborder="0"></iframe>
<script>
// 2. This code loads the IFrame Player API …Run Code Online (Sandbox Code Playgroud) youtube-api ×1