如何解决TinyMCE插件InsertContent删除编辑器内容
| 如果我在单击自定义按钮之前没有在编辑器中单击,则会显示HTML CONTENT,但其他所有内容都消失了……问题是我正在开发此插件以供公共使用,所以我不希望这样做人们会错误地擦除它们的内容,有没有办法设置插入点?这是插入内容代码的行:ed.execCommand(\'mceInsertContent\',false,\'HTML CONTENT\');
我尝试将其添加到mceInsertContent之前没有成功:
tinyMCE.execInstanceCommand(\"mce_editor_0\",\"mceFocus\");
长代码在这里:
(function() {
tinymce.create(\'tinymce.plugins.EmbedText\',{
init : function(ed,url) {
ed.addButton(\'EmbedText\',{
title : \'Embed Text\',image : url+\'/../images/text.png\',onclick : function() {
var textprompt = prompt(\"Question\",\"Exemple\");
if (textprompt != null && textprompt != \'undefined\')
tinyMCE.execInstanceCommand(\"mce_editor_0\",\"mceFocus\"); //Tried this to set the focus to be shure to don\'t erase everything but still not working...
ed.execCommand(\'mceInsertContent\',textprompt );
}
});
},createControl : function(n,cm) {
return null;
},getInfo : function() {
return {
longname : \"Embed Text\",author : \'ME\',authorurl : \'http://perdu.com/\',infourl : \'http://perdu.com/\',version : \"1.0\"
};
}
});
tinymce.PluginManager.add(\'EmbedText\',tinymce.plugins.EmbedText); })();
感谢您的帮助!
解决方法
我发现tinyMCE失去了焦点,并将其放在整个文档上,因此在mceContentInsert之前执行以下操作,如果发生这种情况,它应该可以解决此问题:
var ed = tinyMCE.activeEditor,selectedNode = ed.selection.getNode();
if(ed.dom.doc === selectedNode) {
ed.selection.setNode(ed.dom.doc.body);
}
, 经过几次测试,FF,IE,Safari和Opera都运行良好,唯一清除编辑器内容的浏览器是Chrome ...这是我使用的浏览器...这就是为什么我拥有\没看到这是一个镀铬的问题!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。