我正在尝试调试此错误,并可以使用一些建议:
TypeError: 'null' is not an object (evaluating 'a.a.contentWindow.postMessage')
www-widgetapi-vflsofjNm.js:19
现在,这在Safari版本6.0.2(7536.26.17)中发生。基本流程如下:
我有一个带容器的页面 - 我用jQuery的$ .get()将内容加载到这个容器中:
<div id="container">
<iframe id="player1"><iframe id="player2"><iframe id="player3">
</div>
我可以使用iFrame API停止容器中的任何视频。
var player1 = new YT.Player('player1');
console.dir(player1);
player1.stopVideo();
-> no error, video stops
然后我将不同的内容加载到一个新容器中:
<div id="container">
<iframe><iframe><iframe>
</div>
<div id="anothercontainer"></div>
并删除包含iframe的容器:
<div id="anothercontainer"></div>
然后我重新添加iframe(相同的ID)并删除另一个容器:
<div id="container">
<iframe id="player1"><iframe id="player2"><iframe id="player3">
</div>
使用新的iframe将iframe加载到容器中(第二次)后,我再次调用YT JS:
var player1 = new YT.Player('player1');
console.dir(player1);
player1.stopVideo();
-> no error, video stops
console.dir(player1)显示一个对象,但是当我调用player1.stopVideo()时,我得到了上面提到的错误。有什么想法吗?