2009-08-27 4 views
1

dojox.av.FLVideoウィジェットを使用している場合、手動でウィジェットを破棄できない問題が発生しました。dojox flvideo widgetがAJAXで破棄されます

第一AJAX呼び出し [ビデオと部分的にページAを取得]

var videoDiv = document.createElement('div'); 
videoDiv.id = "vid"; 
mainContent.appendChild(videoDiv); 
var newVideo = new dojox.av.FLVideo({initialVolume:.7, mediaUrl:'video/sample.flv', autoPlay:true, isDebug:true}, "vid"); 
//video plays and everything looks fine 

第二AJAX呼び出し [動画を置き換えるために、別の部分的なページBを取得]

var oldVideo = dijit.byId('vid'); 
oldVideo.destroy(); //should destroy this widget but doesn't 
:シンプルなロジックで

何らかの理由でこのウィジェットが破壊されていないため、AJAX呼び出しを実行してAとビデオを再度ページしようとすると、 idは既に存在します。 私はdestroyRecursive()、disconnect()のような他の関数も試しましたが、どれも問題なく動作していませんでした。

乾杯

ピーター

+0

xref:http://bugs.dojotoolkit.org/ticket/9887 – peller

答えて

1

これを試してみてください:

VAR oldVideo = dijit.byId( 'VID');

oldVideo.destroy()。

delete oldVideo;

+0

この度はありがとうございます。 私はそれを試しても問題は解決しません。 Firebugのを見て、JavaScriptでブレークポイントを設定することで、このビデオのウィジェットは、以下の2行のコードの後に​​まったく影響されないように私には思える: oldVideo.destroy(); 削除oldVideo; ピーター – PeterYunZhang

+0

はピーター、 私は(破壊するケースがあったが)動作していないようでしたし、これは(destroyRecursive(真))しました: (伝説=未定義!){ legend.destroyRecursive(真)場合。 } oldVideo.destroyRecursive(true)が機能するかどうかを確認してください。 – GoinOff

+0

@GoinOff残念ながら私はそれを動作させることができなかった、私はバグレポートを提出した。リンクはbugs.dojotoolkit.org/ticket/9887で、@pellerは私の元の投稿にコメントしています。 いずれにしてもよろしくお願いします。 乾杯[ ]ピーター – PeterYunZhang

関連する問題