私はサポートチケットを作成して管理するウェブアプリを持っています。このように、複数のタブはブラウザ内の1ページで同時に開くことができ、各タブではCKEDITORのインスタンスです。タブは必要に応じて開閉でき、タブが閉じられると、タブ内のCKEDITORインスタンスが破棄されます。離れて全体としてのページから移動するとき破棄前のCKEDITOR checkDirty
次のコードは、CKEditorバージョンインスタンスのいずれかの変化を確認することができます:
function beforeUnload(evt) {
for (var name in CKEDITOR.instances) {
if (CKEDITOR.instances[ name ].checkDirty())
return evt.returnValue = "You will lose the changes made in the editor.";
}
}
if (window.addEventListener) {
window.addEventListener("beforeunload", beforeUnload, false);
} else {
window.attachEvent("onbeforeunload", beforeUnload);
}
ページのタブが含む場合、これは、しかし、素晴らしい作品CKEDITORインスタンスが閉じています。私は、CKEDITORインスタンスを破棄する前にcheckDirtyを実行します。
私が探しているのは、CKEDITORインスタンスの 'destroy'イベントを検出し、そのインスタンスをcheckDirtyでチェックする機能です。私が見つけられないのは、「破壊」イベントを検出する方法です。
ここで助けていただければ幸いです。
これらのタブはどのように管理されていますか?ちょうど明確にするために、あなたは、単一のDOM内のタブは別のブラウザのタブとページインスタンス..正しいではないという意味ですか? – charlietfl
正しいですが、ブートストラップのタブです。 1つのDOM内にあり、異なるブラウザのタブではなく、異なるページインスタンス内ではありません。 –