浏览器中插入富文本编辑器

常用的富文本编辑器有CKEditor、UEEditor、TinyEditor、KindEditor等、以下以kindeditor编辑器的使用为例。

 

1.官网下载KindEditor编辑器http://kindeditor.net/down.php,

当前最新版本为4.1.11,解压缩后放入项目的static目录,作为js插件引用。解压后的目录结构如下。

 

2.editor模板文件,在模板中引入kindeditor插件,并创建一个textarea标签,然后通过KindEditor.create创建一个对象指向textarea标签。

<p>生成富文本编辑器</p>
<textarea name="content" id="content"></textarea>  <!--创建textarea标签-->
<script src="/static/plugins/kindeditor/kindeditor-all-min.js"></script>  <!--引入kindeditor插件-->
<script>editor = KindEditor.create('#content', {  //通过KindEditor创建对象,#content表示指向textarea,resizeType: 2,allowPreviewEmoticons: true,allowImageUpload: true,filePostName: 'imageFile',uploadJson: '/tupian',items: ['fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline','strikethrough','removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist','insertunorderedlist', '|', 'emoticons', 'image','link'],})
</script>

创建文本编辑器对象的方法editor = KindEditor.create('textarea标签',{ '初始化参数' , items:['编辑器上显示的控件'] } )

textarea标签:表示创建的编辑器对象指向改textarea标签,即textarea标签会显示为一个编辑器

create的第二个参数为一个字典,items表示设置哪些控件会显示在编辑器上,其余参数表示对编辑器的初始化操作。参见http://kindeditor.net/docs/option.html

初始化参数:

width、height:编辑器宽度、长度

themeType:主题风格,在解压后的文件夹themes中,包含default和simple两种风格的css文件,可通过link引入css文件并在themeType指定

resizeType: 编辑器调整大小,值为0表示无法调整,1可以改变高度,2可以同时改变高度和宽度

allowPreviewEmoticons: 是否允许预览表情,true表示可以预览,需要在items中添加emoticons,true表示鼠标放在某个表情上会显示预览

allowImageUpload:是否允许上传本地图片,true表示允许,需要在items中添加image,false只能上传网络图片

filePostName: 上传文件的类型,默认为图片imageFile

uploadJson:文件上传后的处理函数

 

items:

items: [         'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste','plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright','justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript','superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/','formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold','italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage','flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak','anchor', 'link', 'unlink', '|', 'about']

显示效果如下:

其中source表示将输入内容显示为html格式

code表示插入程序代码

map表示插入google地图,baidumap表示插入百度地图

  

对模板的处理

def editor(req):return render(req,'editor.html')def tupian(req):print(req.POST)print(req.FILES)dic = {'error':0,'url':'/static/img/1.jpg','message':'something wrong...'}return JsonResponse(dic)

其中tupian函数表示对图片上传的处理,如果dic的error为0表示上传成功,会将url指定的图片显示到编辑器中预览,如果值为1表示失败,会将message返回,并弹出错误提示框,提示框内容为message。

 

在kindeditor编辑器中,可通过edirot.html()获取编辑器中已输入的所有内容。

kindeditor提供了一种方法,在页面加载完成后生成编辑器,并且不依赖jQuery。

<textarea name="content" id="content"></textarea>
<input type="button" οnclick="submit()" value="‘提交"></input>
<script src="/static/plugins/kindeditor/kindeditor-all-min.js"></script>
<script>var editor = nullKindEditor.ready(function () {editor = KindEditor.create('#content', {······})})function submit() {console.log(editor.html())}
</script>

 

转载于:https://www.cnblogs.com/Forever77/p/11115532.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

获取Extjs文本域中的内容

经常在Ext.select()和Ext.query()等问题上纠结&#xff0c;今天终于有了点新认识&#xff1a; 需求&#xff0c;假设我们的页面上有个panel ,其id为clusterstab_edit_details,这个panel的内部有个textarea,这个textarea的name为editDetails_Description,那么我们有多少方法可以…

android触摸指纹会触发按键功能,Android P新特性:利用触摸指纹识别器能阻止手机息屏...

设想你正在阅读手机上的文章&#xff0c;突然间显示屏变暗了一点。显然&#xff0c;你设置的30秒或1分钟超时息屏对于常规使用来说还可以&#xff0c;但对于阅读纯文本片段&#xff0c;还远远不够。因此&#xff0c;这时你会轻触屏幕&#xff0c;可能会上下滑动&#xff0c;以防…

leetcode37. 解数独(hashmap+回溯)

编写一个程序&#xff0c;通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 ‘.’ 表示。 Note: 给定的数独序…

malloc、calloc、realloc和alloca各种的区别

需要先包含头文件 #include"malloc.h"malloc是标准的在堆中开辟新的空间比如char *pt(char *)malloc(10*sizeof(char));需要free(p)才会释放空间calloc也是开辟空间&#xff0c;但是使用方式不一样比如char *pt(char *)calloc(100, sizeof(char));然后用calloc开辟的…

如何对第一个Vue.js组件进行单元测试

by Sarah Dayan通过莎拉达扬 In Build Your First Vue.js Component we made a star rating component. We’ve covered many fundamental concepts to help you create more complex Vue.js components.在“ 构建您的第一个Vue.js组件”中&#xff0c;我们制作了星级评分组件…

Asp.NetCoreWebApi - RESTful Api

REST 常用http动词 WebApi 在 Asp.NetCore 中的实现3.1. 创建WebApi项目.3.2. 集成Entity Framework Core操作Mysql 3.2.1. 安装相关的包(为Xxxx.Infrastructure项目安装)3.2.2. 建立Entity和Context3.2.3. ConfigureService中注入EF服务3.2.4. 迁移数据库3.2.5. 数据库迁移结果…

android动画影子效果,Android TV常用动画的效果,View选中变大且有阴影(手机也能用)...

因为电视屏幕比较大&#xff0c;而我们看电视时距离电视有一定距离&#xff0c;这样就需要动画效果比较明显&#xff0c;这个动画就是应用最广泛的&#xff0c;因为很酷&#xff0c;呵呵&#xff0c;你懂得&#xff0c;看了就知道。效果如下图&#xff1a;public class MainAct…

leetcode226. 翻转二叉树(dfs)

翻转一棵二叉树。示例&#xff1a;输入&#xff1a;4/ \2 7/ \ / \ 1 3 6 9 输出&#xff1a;4/ \7 2/ \ / \ 9 6 3 1代码 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode righ…

Java BigDecimal Rounding Mode

UP        往绝对值大了取 DOWN      往绝对值小了取 CEILING     往值大了取 FLOOR      往值小了取 HALF_UP     不管正负&#xff0c;四舍五入 HALF_DOWN  不管正负&#xff0c;五舍六入 HALF_EVEN    整数部分为奇数&#xff1a;四舍五入…

如何成为一名有效的软件工程师

by Luis Santiago路易斯圣地亚哥(Luis Santiago) 如何成为一名有效的软件工程师 (How to become an effective software engineer) When I first started my journey as a software engineer I quickly noticed the great amount of cognitive load involved when working on …

linux 高可用----keepalived+lvs

什么是高可用&#xff1f; HA&#xff08;high availability&#xff09;即高可用性&#xff1b;就是在高可用集群中发生单点故障时&#xff0c;能够自动转移资源并切换服务&#xff0c;以保证服务一直在线的机制。 LVS LVS&#xff1a;&#xff08;linux virtual server&#…

用户配置相关文件

用户配置相关文件小总结 /etc/passwd 记录用户相关的信息 /etc/shadow 密码影子文件 /etc/group 记录用户组相关的信息 /etc/gshadow 密码影子文件&#xff08;组密码&#xff09; /etc/passwd 文件中各段的内容 第1段&#xff1a;用户名 第…

华为5c android n风格,华为荣耀畅玩5C的屏幕怎么样

华为荣耀畅玩5C的屏幕怎么样屏幕方面&#xff0c;华为荣耀畅玩5C采用了5.2英寸1080P级别GFF贴合屏幕&#xff0c;塑料边框采用了弧面状的设计&#xff0c;握感比较舒适。华为荣耀畅玩5C采用了双主天线的设计&#xff0c;分别在上下的塑料区域。此外&#xff0c;边框以及后盖的上…

spring解析配置文件(三)

一、从XmlBeanDefinitionReader的registerBeanDefinitions&#xff08;doc,resource&#xff09;开始 1 protected int doLoadBeanDefinitions(InputSource inputSource, Resource resource) 2 throws BeanDefinitionStoreException { 3 try { 4 …

leetcode968. 监控二叉树(dfs)

给定一个二叉树&#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 输入&#xff1a;[0,0,null,0,0] 输出&#xff1a;1 解释&#xff1a;如图所示&#xff0c;一台摄像头足…

linux系统部署war包,查看tomcat日志

1.部署war包app/tomcat/bin在tomcat/bin 目录下启动 .startup.sh&#xff0c;在启动过程中tomcat会对war包进行解压&#xff0c;形成相应的项目目录 执行命令&#xff1a;./startup.sh 2.实时查看tomcat的日志。首先需要到tomcat的日志目录下。我的目录供你参考app/tomcat/logs…

代码编写工具_这些工具将帮助您编写简洁的代码

代码编写工具看一下Prettier&#xff0c;ESLint&#xff0c;Husky&#xff0c;Lint-Staged和EditorConfig (A look at Prettier, ESLint, Husky, Lint-Staged and EditorConfig) Learning to write good code, but you don’t know where to start… Going through style-guide…

使用kibana和elasticsearch日志实时绘制图表

前言&#xff1a; 此文接的是上篇&#xff0c;上次的内容是&#xff0c;用python操作elasticsearch存储&#xff0c;实现数据的插入和查询。 估计有些人一看我的标题&#xff0c;以为肯定是 logstash kibana elasticsearch的组合。这三个家伙也确实总是勾搭在一块。 其实logst…

android中设置菜单栏,android – 菜单项没有显示在操作栏

我做了一个全新的项目。我已经添加了项目到菜单布局文件。这些项目不会显示在操作栏的右侧。我记得一个有三个点的图标显示出来&#xff0c;打开菜单。这里是我的活动public class MainActivity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState)…

leetcode617. 合并二叉树(dfs)

给定两个二叉树&#xff0c;想象当你将它们中的一个覆盖到另一个上时&#xff0c;两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠&#xff0c;那么将他们的值相加作为节点合并后的新值&#xff0c;否则不为 NULL 的节点将直接…