Editor.isDirty() が正しく機能していないようです。このアプリケーションでは、Editor.isDirty() フラグをチェックします。true と評価されたら、いくつかのアクションを進める必要があります。何も変更されていない場合、変更されていないデータを評価するためにプロセッサの時間を無駄にしたくありません。私たちの場合、一度コンテンツが更新されると、isDirty() は常に true と評価されます。何も変わっていないときでも。
Editor.isDirty() 関数は非常に単純に見えます。
isDirty : function() {
var self = this;
return tinymce.trim(self.startContent) != tinymce.trim(self.getContent({format : 'raw', no_events : 1})) && !self.isNotDirty;
}
キーは startContent プロパティのようです。これは、TinyMCE が変更が発生したことを判断するために使用するものです。したがって、エディターで save() が呼び出されたときに、このプロパティが更新されることを期待しています。コードを見ると、これは起こらないことがわかります。実際、startContent は、ここでの使用をサポートするどこにもリセットされません。他の誰かがこの動作を見たことがありますか、それとも私が Editor オブジェクトを間違って使用していますか?
補足: TinyMCE バージョン 3.5.7。