kar*_*ara 6 firefox jquery tinymce
我在我的应用程序中使用tinymce来获得丰富的文本框体验,在Mozilla中使用它时我遇到了这个奇怪的问题。第一次使用时它工作得很好,但是如果我第二次加载相同的tinymce实例,它会在控制台屏幕中给出以下错误。
NS_ERROR_UNEXPECTED
如果有的话请提出解决方案,下面是我正在使用的代码:
<script type="javascript">
tinymce.remove();
jQuery('#tinymce').tinymce({
height: 250,
width: 750,
entity_encoding: "raw",
encoding: "xml",
force_br_newlines: false,
force_p_newlines: false,
forced_root_block: 'div',
statusbar: false,
theme: 'modern',
menubar: false,
plugins: "mention " + plugins,
toolbar1: toolbar1,
toolbar2: toolbar2
});
</script>
Run Code Online (Sandbox Code Playgroud)
要解决这个问题,只需将其包裹tinymce.remove()在 try catch 中即可。
try {
tinymce.remove("#id");
} catch (e) {}
Run Code Online (Sandbox Code Playgroud)
这个问题的原因是,虽然编辑器不存在于 DOM 中,但tinyMCE 脚本认为它仍然存在。您可以通过放置断点tinymce.remove()并运行来检查它tinymce.editors.length- 即使编辑器不存在,它也会返回一个正值。由于某种未知原因,该问题仅出现在 Firefox 中。
这个错误很烦人。这与赛车状况有关。在重新初始化编辑器之前尝试将删除命令放入 setTimeout-Block 中,它应该可以工作。
setTimeout(function(){
var ed = tinymce.get('your_editor_id');
if (ed) ed.remove();
}, 1);
Run Code Online (Sandbox Code Playgroud)
更新:然后尝试不同的东西:
var ed = tinymce.get('your_editor_id');
if (ed) ed.remove();
setTimeout(function(){
jQuery('#tinymce').tinymce({
height: 250,
width: 750,
entity_encoding: "raw",
encoding: "xml",
force_br_newlines: false,
force_p_newlines: false,
forced_root_block: 'div',
statusbar: false,
theme: 'modern',
menubar: false,
plugins: "mention " + plugins,
toolbar1: toolbar1,
toolbar2: toolbar2
});
}, 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4929 次 |
| 最近记录: |