很奇怪的事。 最近几天我注意到在我的Firefox v22上,youtube iframe api我在几个网站上使用时开始出现如下错误:“TypeError:Value not an object”和“Error:Bad NPObject as private data!”。文件中都有http://s.ytimg.com/yts/jsbin/www-embed-player-vflX1WAR4.js 我的youtube播放器现在不能正常工作。 去年有其他人注意到此问题以及可能导致此问题的原因是什么? 在所有其他浏览器上,youtube api对我来说很好,因为它是befoe(我没有对我的网站做任何更改)
答案 0 :(得分:1)
如果在调用player.loadVideoById(vid)
时隐藏了播放器元素,它将在firefox中抛出错误“错误:错误NPObject作为私有数据”
查看http://jsfiddle.net/eyx4M/7/中的差异这将在chrome中发挥作用,警告“不安全的JavaScript尝试使用Url访问框架”,但在Firefox中它会抛出“错误:错误的NPObject作为私有数据”。
答案 1 :(得分:0)
iframe的来源应包含ORIGIN - domain。域应该可以从localhost / local network外部访问。
http://www.youtube.com/embed/<VIDEO_ID>?origin=http://DOMAIN
解决了我的问题。
答案 2 :(得分:-1)
我遇到了同样的问题。
此脚本修复了它:
<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>