需要显示模式,直到多个 TinyMCE 初始化完全完成
Need to show modal until multiple TinyMCE inits finished completely
我正在加载多个 TinyMCE 编辑器,使用单独的 init(),如下所示:
tinymce.init({
selector:'.classOne',
plugins: "pagebreak, code, image",
toolbar: "pagebreak, code, image",
relative_urls: false,
pagebreak_separator: "<!-- page break -->",
image_list: function(success){
apiCall( {
method: "GET",
url: "/api/get/filelist/folder",
data: '',
success: function(data) { success(JSON.parse(data.payload)); }
} );
}
});
有几个,每个“.classOne”或“.classTwo”等等。一切都很好,除了我试图弹出一个 "Please wait" 模式(使用 Bootstrap,顺便说一句)直到他们都完成设置。模式弹出,但很快消失(我知道为什么,这不是这个问题,它只是消失,因为代码在微型编辑器全部设置之前触发),我可以在左下角看到 "Waiting for rainmaker.tiny.cloud..."多几秒钟。它为每个编辑器加载,而且有很多,有时可能有 20-100 个。
UX 最终是他们可能会尝试单击 link(取消隐藏该特定部分的编辑器),然后才实际可用。
有没有办法让我告诉 TinyMCE init 在编辑器完全加载后调用特定函数?我查看了网站上的回调,但没有 see/understand 成功。
TinyMCE 3/4/5 都有一个名为 init_instance_callback 的方法,它会在编辑器准备就绪时触发。参见 https://www.tiny.cloud/docs/configure/integration-and-setup/#init_instance_callback
对于您的用例,我会在该回调中解决一个承诺,例如:classOnePromise.resolve(editor)
并使用 Promise.All([ classOnePromise, ... ]).then(hideModal) 隐藏模型,当所有承诺都已解决时。
希望对您有所帮助
埃金
我正在加载多个 TinyMCE 编辑器,使用单独的 init(),如下所示:
tinymce.init({
selector:'.classOne',
plugins: "pagebreak, code, image",
toolbar: "pagebreak, code, image",
relative_urls: false,
pagebreak_separator: "<!-- page break -->",
image_list: function(success){
apiCall( {
method: "GET",
url: "/api/get/filelist/folder",
data: '',
success: function(data) { success(JSON.parse(data.payload)); }
} );
}
});
有几个,每个“.classOne”或“.classTwo”等等。一切都很好,除了我试图弹出一个 "Please wait" 模式(使用 Bootstrap,顺便说一句)直到他们都完成设置。模式弹出,但很快消失(我知道为什么,这不是这个问题,它只是消失,因为代码在微型编辑器全部设置之前触发),我可以在左下角看到 "Waiting for rainmaker.tiny.cloud..."多几秒钟。它为每个编辑器加载,而且有很多,有时可能有 20-100 个。
UX 最终是他们可能会尝试单击 link(取消隐藏该特定部分的编辑器),然后才实际可用。
有没有办法让我告诉 TinyMCE init 在编辑器完全加载后调用特定函数?我查看了网站上的回调,但没有 see/understand 成功。
TinyMCE 3/4/5 都有一个名为 init_instance_callback 的方法,它会在编辑器准备就绪时触发。参见 https://www.tiny.cloud/docs/configure/integration-and-setup/#init_instance_callback
对于您的用例,我会在该回调中解决一个承诺,例如:classOnePromise.resolve(editor)
并使用 Promise.All([ classOnePromise, ... ]).then(hideModal) 隐藏模型,当所有承诺都已解决时。
希望对您有所帮助
埃金