TypeError:通过AJAX删除/添加iframe时

时间:2012-11-22 02:06:18

标签: youtube-api

我正在尝试调试此错误,并可以使用一些建议:

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()时,我得到了上面提到的错误。有什么想法吗?

0 个答案:

没有答案