直到大约两周前,我的一切工作正常。我没有更改任何代码。
function loadYtVideo(video, advert, advert_link, splash, splash_link){
var params = { allowScriptAccess: "always", wmode: "transparent" };
var atts = { id: "eda-player", wmode: "transparent" };
var swfobject;
adv.orig = video;
swfobject.embedSWF("https://www.youtube.com/v/"+adv.orig+"?rel=0&enablejsapi=1&playerapiid=ytplayer","ytapiplayer", "719", "404", "8", null, null, params, atts);
}
function onYouTubePlayerReady(playerId) {
//It's fired
edaplayer = document.getElementById('eda-player');
edaplayer.addEventListener("onStateChange", "playerState");
}
function playerState(state) {
//it's not fired
console.log(state);
}
<div class="adv-video">
<div id="ytapiplayer">
<script>
$(document).ready(function(){
loadYtVideo($.getUrlVar('ytVideo'), 'eM2ja9LE0YE', 'http://wilmax.ru/', '', '');
});
</script>
</div>
</div>
我发现有类似问题的帖子,但这些帖子中的解决方案在这种情况下不起作用。 任何帮助将不胜感激。
答案 0 :(得分:1)
我建议你转到YouTube IFrame Player API:
IFrame播放器API可让您在网站上嵌入YouTube视频播放器,并使用JavaScript控制播放器。与Flash和JavaScript播放器API不同,后者都涉及在您的网页上嵌入Flash对象,IFrame API会将内容发布到您的
typedef int (*func)(int); func make_adder(int a) { int add(int x) { return a + x; } return &add; } int main() { func add_42 = make_adder(42); // add_42(10) == 52 }
标记上页。这种方法比以前提供的API更灵活,因为它允许YouTube为不支持Flash的移动设备提供HTML5播放器而不是Flash播放器。
Flash API和JS API已被弃用。我不确定它是否仍适用于当前的API,因此我建议您使用Iframe API
以下是一些可能对您有所帮助的消息来源:
希望这有帮助!