您好我有一个插件可以打开一个带有自己的html页面的窗口。
tinymce.PluginManager.add('ds_format_edit', function (editor, url) {
editor.addMenuItem('ds_format_edit', {
text: 'Formatvorlage anpassen...',
icon: false,
onclick: function () {
editor.execCommand("ds_format_edit");
}
});
editor.addCommand('ds_format_edit', function () {
editor.windowManager.open({
title: "Formatvorlagen anpassen ...",
url: 'DSFormatEditDialog.html',
width: 800,
height: 350,
buttons: [
{
text: 'OK',
onclick: function () {
top.tinymce.activeEditor.windowManager.close();
}
},
{ text: 'Cancel', onclick: 'cancel' }
]
}, {
tinymce_formats: getFormats(),
});
});
});
tinymce_formats是我传递给窗口的参数。该对话框修改此参数。这一切都有效。 现在,如果窗口已关闭(如果用户按下OK按钮)以获取修改后的参数,我想重新设置tinymce编辑器。 是否有任何开放回调功能或其他方式来实现这一点? 谢谢Felix
修改 我用Button调用这个插件。插件打开一个带参数的窗口。在这个窗口中,我做了一些事情并修改了参数。如果窗口已关闭,我想使用我的restialize功能。我需要一个函数来知道窗口何时关闭以执行reintialize函数。
答案 0 :(得分:1)
要重置所有内容(按钮状态和内容),您需要卸载编辑器并以这种方式重新初始化:
# Remove TinyMCE instance
tinyMCE.remove();
# Initialize TinyMCE again
tinyMCE.init({ ... });
或者,如果您只需要清空文本内容,请使用:
tinyMCE.get('#my-textarea-id').setContent("");
要告诉您的主应用程序窗口已关闭,您可以触发自定义事件:
{
text:'OK',
onclick: function () {
jQuery(document).trigger('myCustomCloseEvent');
top.tinymce.activeEditor.windowManager.close();
}
}
在您的主应用程序中,绑定事件:
jQuery(document).on("myCustomCloseEvent", function()
{
alert('Window has been closed');
});