几天之后,通过
Javascript嵌入YouTube视频的代码就可以停止工作.现在视频加载,但它不可播放(播放按钮不可点击),控制台中出现此错误:
Uncaught TypeError: a.g.mX is not a function at O_ (https://www.youtube.com/yts/jsbin/player-en_US-vfl8LqiZp/base.js:3796:24) at new P_ (https://www.youtube.com/yts/jsbin/player-en_US-vfl8LqiZp/base.js:3791:111) at new c2 (https://www.youtube.com/yts/jsbin/player-en_US-vfl8LqiZp/base.js:3985:268) at new i2 (https://www.youtube.com/yts/jsbin/player-en_US-vfl8LqiZp/base.js:4005:210) at i2.create (https://www.youtube.com/yts/jsbin/player-en_US-vfl8LqiZp/base.js:6950:321) at zh.<anonymous> (https://www.youtube.com/yts/jsbin/www-embed-player-vflxTxlSH/www-embed-player.js:428:269) at zh.k.lb (https://www.youtube.com/yts/jsbin/www-embed-player-vflxTxlSH/www-embed-player.js:428:308) at Dh (https://www.youtube.com/yts/jsbin/www-embed-player-vflxTxlSH/www-embed-player.js:426:143) at zh.k.pa (https://www.youtube.com/yts/jsbin/www-embed-player-vflxTxlSH/www-embed-player.js:419:176) at https://www.youtube.com/yts/jsbin/www-embed-player-vflxTxlSH/www-embed-player.js:461:420
JS代码如下:
document.getElementById('player').setAttribute("style","height:"+(window.innerHeight * 0.87)+"px;"); document.getElementById('youtube_frame').src="http://www.youtube.com/player_api"; var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player',{ height: "100%",width: "100%",videoId: start_video,events: { 'onReady': onPlayerReady,'onStateChange': onPlayerStateChange } }); } function onPlayerReady(event) { player_ref = event.target; event.target.playVideo(); } // when video ends function onPlayerStateChange(event) { if(event.data === 0) { event.target.loadVideoById(start_video); } }
播放也打破了我运行的另一个原型.一切都过去工作,直到几天前.我在网上找不到任何东西,也许有人可以看清楚吗?
—–更新—-
嵌入播放再次被破坏:
Uncaught TypeError: a.g.setActionHandler is not a function at M_ (https://www.youtube.com/yts/jsbin/player-en_US-vflqOi6vK/base.js:3788:24) at new N_ (https://www.youtube.com/yts/jsbin/player-en_US-vflqOi6vK/base.js:3783:111) at new a2 (https://www.youtube.com/yts/jsbin/player-en_US-vflqOi6vK/base.js:3978:367) at new g2 (https://www.youtube.com/yts/jsbin/player-en_US-vflqOi6vK/base.js:3999:210) at g2.create (https://www.youtube.com/yts/jsbin/player-en_US-vflqOi6vK/base.js:6995:333) at Gi.<anonymous> (https://www.youtube.com/yts/jsbin/www-embed-player-vfl-i_LLs/www-embed-player.js:507:269) at Gi.l.jb (https://www.youtube.com/yts/jsbin/www-embed-player-vfl-i_LLs/www-embed-player.js:507:308) at Ki (https://www.youtube.com/yts/jsbin/www-embed-player-vfl-i_LLs/www-embed-player.js:505:143) at Gi.l.oa (https://www.youtube.com/yts/jsbin/www-embed-player-vfl-i_LLs/www-embed-player.js:498:176) at https://www.youtube.com/yts/jsbin/www-embed-player-vfl-i_LLs/www-embed-player.js:557:378
解决方法
当启用“实验功能”时,Chrome 56.0.2924.87(64位)中有此问题.
base.js:7046 Uncaught TypeError: a.g.setActionHandler is not a function at bY (https://www.youtube.com/yts/jsbin/player-ru_RU-vfleBND20/base.js:3618:24) at new cY (https://www.youtube.com/yts/jsbin/player-ru_RU-vfleBND20/base.js:3613:111) at new z1 (https://www.youtube.com/yts/jsbin/player-ru_RU-vfleBND20/base.js:3983:268) at new j2 (https://www.youtube.com/yts/jsbin/player-ru_RU-vfleBND20/base.js:4044:209) at Object.j2.create (https://www.youtube.com/yts/jsbin/player-ru_RU-vfleBND20/base.js:7045:317) at Object.ytplayer.load (https://www.youtube.com/watch?v=n-AdoTkXwbc:241:75024) at https://www.youtube.com/watch?v=n-AdoTkXwbc:241:75172 at https://www.youtube.com/watch?v=n-AdoTkXwbc:241:75181
我们可以在此处禁用此选项:chrome:// flags /#enable-experimental-web-platform-features
– 更新10.03.2017 –
Chrome 57.0.2987.98(64位)今天发布,工作正常!