我正在尝试使用 youtube 的 javascript api,但在初始化它/准备就绪时获得回调时遇到问题。可以找到 Api 文档 here .
我从 youtube 提供的 json 中获取视频并像这样嵌入它们:
//insert flash object in video element
$(video_elm_arr[i]).append('<object id="video_' + i + '" width="' + width + '" height="' + height + '">' +
'<param name="movie" value="' + video_url + '?showinfo=0&enablejsapi=1"></param>' +
'<param name="allowFullScreen" value="true"></param>' +
'<param name="allowscriptaccess" value="always"></param>' +
'<embed src="' + video_url + '?showinfo=0&enablejsapi=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="' + width + '" height="' + height + '"></embed>' +
'</object>');
请注意,我将“enablejsapi=1”添加到应该启用 javascript api 的 url。但是,当我监听 api 准备就绪的回调时,即:
//set player functionality when javascript api is available
function onYouTubePlayerReady(playerId) {
alert('api is ready!');
}
它永远不会被触发。页面上的所有其他内容(包括 youtube 视频)都正确加载,甚至我在视频 url (showinfo=0) 中传递的其他参数也能正常工作。是什么赋予了?有人看到我的错误吗?非常感谢所有帮助...
最佳答案
页面是否由服务器提供(即,不是来自本地机器)?如果页面在本地提供,则不允许 Youtube(或一般的 Flash)与 JavaScript 交互。
关于javascript - youtube javascript api不会触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2978491/