2014-11-04 44 views
0

插入一個iFrame的模板後:從我瞭解插入iFrame來EmberJS樣板給「的Metamorph不是在DOM」錯誤

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

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

我得到這個錯誤此錯誤來自HTML中包含Handlebar表達式,但將其更改爲:

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

沒有解決問題。 解決問題的唯一辦法是從模板中刪除整個iFrame,當然這不是一個需要的解決方案。

請幫忙嗎?

+0

看起來不錯,在這裏http://emberjs.jsbin.com/gunuxazujo,請嘗試在jsbin上重現問題併發布。 – melc 2014-11-04 11:37:33

+0

嘗試在路徑之間移動時彈出問題。當iframe存在時,我得到上面提到的錯誤,當刪除ifram evrything按預期工作。即使iframe處於第二種格式 - 當標籤中沒有插入Handlebar代碼...這就是其他問題。 – 2014-11-04 12:03:56

回答

0

確保您包含iframe的結束標記。看起來,當你不包含結束標籤時,Ember將在生成的開始/結束標籤之間推送一堆meta腳本,這在iframe的情況下將不可訪問。嘗試用下面的代碼替換你的代碼。

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