将iFrame插入Ember JS模板gieves" Metamorph不在DOM"错误

时间:2014-11-04 11:11:36

标签: javascript iframe ember.js

将iFrame插入模板后

<iframe id="ytplayer" type="text/html" width="450" height="275" {{bind-attr src="videoUrl"}} frameborder="0" allowfullscreen>

我收到了这个错误:

Uncaught Error: Cannot perform operations on a Metamorph that is not in the DOM.

根据我的理解,这个错误来自将HTML中包含的Handlebar表达式,但将其更改为:

<iframe id="ytplayer" type="text/html" width="450" height="275" src="someurl" frameborder="0" allowfullscreen>

没有解决问题。 唯一可以解决问题的是从模板中删除整个iFrame,当然这不是一个理想的解决方案。

有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

确保为iframe添加结束标记。看来,当你不包含结束标记时,Ember会在生成的开始/结束标记之间推送一堆元脚本,在iframe的情况下,这些标记将无法访问。尝试用下面的代码替换你的代码。

<iframe id="ytplayer" type="text/html" width="450" height="275" {{bind-attr src="videoUrl"}} frameborder="0" allowfullscreen></iframe>