Sencha Touch2でiFrameYoutubeビデオを削除するために、hideイベントで要素(パネル)のHTMLを設定するのに問題があります。
呼び出されているhide関数にExt.Msg.alertがあり、それが機能しているため、hideイベントが機能していて呼び出されていますが、非表示でビデオを停止できません。
これが私のパネルコードです:
Ext.define('TCApp.view.MyPanel0', {
extend: 'Ext.Panel',
alias: 'widget.mypanel0',
config: {
hideOnMaskTap: true,
scrollable: false,
items: [
{
xtype: 'panel',
html: '<iframe width="560" height="315" src="http://www.youtube.com/embed/-gv9RicOHNQ" frameborder="0" allowfullscreen></iframe>',
itemId: 'videopanel',
hideOnMaskTap: true
}
]
}
});
私のコントローラーにはこれがあります:
Ext.define('TCApp.controller.MyController', {
extend: 'Ext.app.Controller',
config: {
control: {
"#dataview": {
itemtap: 'onDataviewItemTap'
},
"mypanel0": {
hide: 'onVideopanelHide'
}
}
},
など…</p>
この:
onVideopanelHide: function(component, options) {
Ext.Msg.alert('Test onhide event'); <-- working hide event called
Ext.getCmp('videopanel').setHtml("");
Ext.getCmp('videopanel').setHtml('<div id="video1"><iframe width="560" height="315" src="http://www.youtube.com/embed/NSUucup09Hc?fs=1&hl=en_US&rel=0&autoplay=0" frameborder="0" allowfullscreen></iframe></div><img src="resources/images/thapelo3Fy.jpg" />');
}
Ext.getCmpは機能していませんが、エラーが発生します:'TypeError:' undefined'はオブジェクトではありません(' Ext.getCmp(' videopanel')。setHtml'を評価しています) '
HTMLを設定しようとしているパネルのitemidは「ビデオパネル」であるため、何が問題なのかわかりません。何か案は?
まだ非表示イベントでiFrameYoutubeビデオを再生しているので、完全に削除したいと思います。
'Ext.getCmp(' videopanel')。destroy();'も試しました。しかし、上記と同じエラーが発生します。itemidをvideopanelとして設定しているだけで、他のIDは設定していません…</ p>
助けてくれてありがとう…</p>