非常奇怪的事情。最近几天,我注意到在我的Firefox v22上,我在一些网站上使用的youtube iframe api开始出现错误,比如:"TypeError:Value not an object"one_answers"Error:Bad NPObject as private data!"。两者都在文件中:http://s.ytimg.com/yts/jsbin/www-embed-player-vflX1WAR4.js我的youtube播放器现在工作不稳定。最近几天有其他人注意到这个问题吗?是什么原因导致了这个问题?在所有其他浏览器上,thiayyoutubeapi对我来说都很好,因为它是befoe(我没有对我的网站做任何更改)
如果调用player.loadVideoById(vid)
时播放器元素被隐藏,它会在firefox 中抛出错误"错误:坏的NPObject作为私有数据"
请参阅中的差异http://jsfiddle.net/eyx4M/7/这将在chrome中工作,并发出警告"不安全的JavaScript尝试访问带有Url的帧",但在firefox中,它将抛出"错误:错误的NPObject作为私有数据"。
iframe的源应该包含ORIGIN-domain。域应该可以从本地主机/本地网络外部访问。
http://www.youtube.com/embed/<VIDEO_ID>?origin=http://DOMAIN
为我解决了这个问题。
我也遇到了同样的问题。
这个脚本修复了它:
<object width="640" height="390">
<param name="movie"
value="https://www.youtube.com/v/M7lc1UVf-VE?version=3&autoplay=1"></param>
<param name="allowScriptAccess" value="always"></param>
<embed src="https://www.youtube.com/v/M7lc1UVf-VE?version=3&autoplay=1"
type="application/x-shockwave-flash"
allowscriptaccess="always"
width="640" height="390"></embed>
</object>
来源https://developers.google.com/youtube/player_parameters