jen*_*jis 10 javascript youtube iframe youtube-api
我有一个带有iframe的页面加载youtube视频(iframe的src在运行时被修改).我基于Rob W的代码提供了关于此主题的不同答案
<iframe id="browser" class="browser" scrolling="no" name="navigation"
src="http://www.youtube.com/embed/nOEw9iiopwI?enablejsapi=1" application="youtube" style="display:
inline;"></iframe>
Run Code Online (Sandbox Code Playgroud)
然后,当加载iframe时,执行以下代码:
$('.browser').load(function() {
dispose_ytplayer();
});
Run Code Online (Sandbox Code Playgroud)
被调用函数dispose_ytplayer()是:
function dispose_ytplayer() {
(function(){
var s = document.createElement("script");
s.src = "http://www.youtube.com/player_api";
var before = document.getElementsByTagName("script")[0];
before.parentNode.insertBefore(s, before);
})();
alert('called yt_dispose');
var ytIframeplayer;
function onYouTubePlayerAPIReady() {
alert('called onYouTubePlayerAPIReady');
ytIframeplayer = new YT.Player('browser', {
events: {
"onStateChange": stopCycle
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是从不调用第二个警报("调用onYouTubePlayerAPIReady"),我的chrome console.log显示来自www-embed_core_module-vflNmuGQq.js的错误消息:26:
不安全的JavaScript尝试使用URL http://www.youtube.com/embed/nOEw9iiopwI?enablejsapi=1从URL访问URL为http://mysite.com的框架.域,协议和端口必须匹配.
有任何想法吗?
CD.*_*D.. 24
onYouTubePlayerAPIReady应该在window对象上.
尝试:
window.onYouTubePlayerAPIReady = function() {
alert('called onYouTubePlayerAPIReady');
ytIframeplayer = new YT.Player('browser', {
events: {
"onStateChange": stopCycle
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15110 次 |
| 最近记录: |