使用Js获取、插入和更改FCKeditor编辑器里的内容

2023-12-05 0 359

之前在一个系统里使用了FCKeditor编辑器,由于项目需求需要在FCKeditor里添加一个自定义的按钮用于实现自己的需求

主要是在点击该按钮时删除或添加FCKeditor编辑器里的内容

其实是一个很简单的需求,本来以为在FCKeditor可以很容易的实现
在Google上搜索自定义按钮,插件开发,经过近二个小时的摸索最终还是没有实现不知是我太笨还是自定义插件太难啦

通过JS方式来处理

1.在页面中添加checkbox元素并绑定事件,选中该元素时将在FCKeditor内容里添加\”{#book#}\”字符串(该字符串会在适当的时候被替换成其他内容),取消选中时则删除

<label><input type=\”checkbox\” id=\”lineBook\” onclick=\”chk_but();\”/>添加/删除复选框</label>

2.添加Js处理FCKeditor内容(添加或删除\”{#book#}\”字符串),\’txtContent\’为FCKeditor的ID控控件ID

<script type = \”text/javascript\” >
//\”添加/删除复选框\”点击时如果按钮选中则添加\”{#book#}\”字符串到FCK内容里,反之删除字符串
//lineBook为FCK的ID号
function chk_but() {
if (window.FCKeditorAPI !== undefined && FCKeditorAPI.GetInstance(\’txtContent\’) !== undefined) {
if (document.getElementById(\’lineBook\’).checked) {
FCKeditorAPI.GetInstance(\’txtContent\’).EditorDocument.body.innerHTML += \”{#book#}\”;
} else {
FCKeditorAPI.GetInstance(\’txtContent\’).EditorDocument.body.innerHTML = FCKeditorAPI.GetInstance(\’txtContent\’).EditorDocument.body.innerHTML.replace(\”{#book#}\”, \”\”);
}
}
} //end function chk_lineBook()
//内容里如果有{#book#}则选中\”添加/删除复选框\”
if (document.getElementById(\’txtContent\’).value.indexOf(\'{#book#}\’) >= 0
&& window.FCKeditorAPI !== undefined
&& FCKeditorAPI.GetInstance(\’txtContent\’) !== undefined) {
document.getElementById(\’lineBook\’).checked = true;
}
</script>

参考:

官网:http://ckeditor.com/

获取或更改内容值:http://bbs.csdn.net/topics/360086762

创建插件:http://docs.cksource.com/FCKeditor_2.x/Developers_Guide/Customization/Plug-ins

接着给大家分享一下JS操作Fckeditor的一些常用方法

//向编辑器插入指定代码
function insertHTMLToEditor(codeStr){
var oEditor = FCKeditorAPI.GetInstance(\”content\”);
oEditor.InsertHtml(codeStr); // \”html\”为HTML文本
}
//获取编辑器中HTML内容
function getEditorHTMLContents() {
var oEditor = FCKeditorAPI.GetInstance(\”content\”);
return(oEditor.GetXHTML(false));
}
// 获取编辑器中文字内容
function getEditorTextContents() {
var oEditor = FCKeditorAPI.GetInstance(\”content\”);
return(oEditor.EditorDocument.body.innerText);
}
// 设置编辑器中内容
function SetEditorContents(ContentStr) {
var oEditor = FCKeditorAPI.GetInstance(\”content\”) ;
oEditor.SetHTML(ContentStr) ;
}
//向编辑器插入指定代码
function insertHTMLToEditor(codeStr){
var oEditor = FCKeditorAPI.GetInstance( \”content \”);
if (oEditor.EditMode==FCK_EDITMODE_WYSIWYG){
oEditor.InsertHtml(codeStr);
}else{
return false;
}
}
//统计编辑器中内容的字数
function getLength(){
var oEditor = FCKeditorAPI.GetInstance( \”content \”);
var oDOM = oEditor.EditorDocument;
var iLength ;
if(document.all){
iLength = oDOM.body.innerText.length;
}else{
var r = oDOM.createRange();
r.selectNodeContents(oDOM.body);
iLength = r.toString().length;
}
alert(iLength);
}
//执行指定动作
function ExecuteCommand(commandName){
var oEditor = FCKeditorAPI.GetInstance( \”content \”) ;
oEditor.Commands.GetCommand(commandName).Execute() ;
}

到此这篇关于使用Js获取、插入和更改FCKeditor编辑器里的内容的文章就介绍到这了,更多相关Js操作FCKeditor编辑器内容请搜素悠久资源网以前的文章或下面相关文章,希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • jsoneditor二次封装实时预览json编辑器组件react版
  • vue-json-editorjson编辑器的使用
  • js制作xml在线编辑器实例
  • js获取UEditor富文本编辑器中的图片地址
  • js处理网页编辑器转义、去除转义、去除HTML标签的正则
  • 纯 JS 实现的轻量化图片编辑器实例详解

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 网页编辑器 使用Js获取、插入和更改FCKeditor编辑器里的内容 https://www.u-9.cn/biancheng/bianji/97485.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务