在线编辑器KindEditor的使用

1、官网下载:点击进入

2、解压后目录说明

├── asp                          asp示例
├── asp.net                    asp.net示例
├── attached                  空文件夹,放置关联文件attached
├── examples                 HTML示例
├── jsp                          java示例
├── kindeditor-all-min.js   全部JS(压缩)
├── kindeditor-all.js        全部JS(未压缩)
├── kindeditor-min.js      仅KindEditor JS(压缩)不包含plugins的JS代码
├── kindeditor.js            仅KindEditor JS(未压缩)不包含plugins的JS
├── lang                        支持语言
├── license.txt               License
├── php                        PHP示例
├── plugins                    KindEditor内部使用的插件
└── themes                   KindEditor主题

3、使用样例

  1. 页面添加textarea标签

    <textarea id="editor_id" name="content" style="width:700px;height:300px;">
    
    </textarea>
  2. 在页面添加如下脚本
    <script charset="utf-8" src="/editor/kindeditor.js"></script>
    <script>
            KE.show({
                    id : ‘editor_id‘
            });
    </script>
  3. 获取编辑器的内容

    //取得HTML内容
    html = KE.html(‘editor_id‘);
    
    //同步数据后可以直接取得textarea的value
    KE.sync(‘editor_id‘);
    html = document.getElementById(‘editor_id‘).value;
    html = $(‘#editor_id‘).val(); //jQuery
    
    //设置HTML内容
    KE.html(‘editor_id‘, ‘HTML内容‘);

  4. 自己写的评论使用kindeditor
  5. <div class="comment-area">
            <div class="replay-comment-user"></div>
            <div class="reply-area" style="position: relative;">
                {% if not request.session.user %}   //我是将用户信息保存在session里
                    <div style="text-align:center;line-height:200px;position: absolute;top:0;left:0;right:0;bottom: 0; padding: 0px; color: rgb(0, 0, 255); line-height: 1.5 !important;">>
                        您需要登录后才可以回帖 <a href="/login/">登录</a> | <a href="/register/">立即注册</a>
                    </div>
                {% endif %}
    
                <textarea id="editor_id" name="content" style="width: 100%;height:200px;"></textarea>
            </div>
            <div>
                <div class="reply-btn">
                    <span><span>21</span>/255字</span>
                    <a class="btn btn-primary" onclick="editformsubmit()">发表回复</a>
                </div>
            </div>
    
        </div>

    <script charset="utf-8" src="/static/plugins/kindeditor-4.1.10/kindeditor-all.js"></script>
    <script>
    $(function () {
                initKindEditor();
            })
            function initKindEditor() {
                //对#editor_id对象实例化产生一个kindeditor的对象
                    kindeditor = KindEditor.create(‘#editor_id‘, {
                    resizeType: 1,  //文本框大小是否可调,0:不可调,1:上下可调,2:上下,斜拉可调
                    allowPreviewEmoticons: false,  //表情是否会出现预览效果
                    allowImageUpload: true,           //是否允许上传本地图片
                    fileManagerJson: ‘/kind/file_manager/‘,
                    uploadJson:‘/edit_comment_photo.html‘,   //图片上传的url
    {#                filePostName:‘/edit_comment_img_name‘,#}
                    extraFileUploadParams: {
                            ‘csrfmiddlewaretoken‘: ‘{{ csrf_token }}‘
                        },    //避免csrf拦截
                    items: [                            //在文本框添加一些元素按钮
                        ‘fontname‘, ‘fontsize‘, ‘|‘, ‘forecolor‘, ‘hilitecolor‘, ‘bold‘, ‘italic‘, ‘underline‘,
                        ‘removeformat‘, ‘|‘, ‘justifyleft‘, ‘justifycenter‘, ‘justifyright‘, ‘insertorderedlist‘,
                        ‘insertunorderedlist‘, ‘|‘, ‘emoticons‘, ‘image‘, ‘link‘]
                })
            }
            function editformsubmit() { //提交时发送ajax请求
                $.ajax({
                    url:‘/submit_comment.html‘,
                    type:‘GET‘,
                    data:{‘comment‘:kindeditor.html(),‘article_id‘:{{ article.id }},‘user_id‘:{{user_obj.id}} },
                    success:function (args) {
                        console.log(args)
                        kindeditor.html();
                        window.location.reload();
                    }
                })
            }
        </script>

    def submit_comment(request):
        # content = models.CharField(max_length=10240) #评论的内容
        # article = models.ForeignKey(‘Article‘,related_name=‘article_coments‘) #评论那篇文章
        # user = models.ForeignKey(‘User‘) #哪个用户写的评论
        # ctime = models.DateField(auto_created=True) #评论的时间
        # parent_comment = models.ForeignKey(‘Comment‘,related_name=‘child_comment‘,null=True,blank=True) #评论是某条评论
    
        data = request.GET.get(‘comment‘,None)
        article_id = request.GET.get(‘article_id‘,None)
        user_id = request.GET.get(‘user_id‘,None)
        models.Comment.objects.create(content=data,article_id =article_id,user_id=user_id )
        return HttpResponse(‘OK‘)

    def edit_comment_photo(request):
        img = request.FILES.get(‘imgFile‘)  #从request拿到上传的照片
        imgdir = os.path.join(‘static‘,‘img‘,‘comment‘,img.name) #拼接相应的路径,为写入服务器做准备
        # print(imgdir)
        #将照片文件写入相应的路径
        with open(imgdir,‘wb‘) as f:
            for line in img.chunks():
                f.write(line)
    
        #创建字典,将信息返回至前端
        dic = {
            ‘error‘: 0,
            ‘url‘: ‘/static/img/comment/‘ + img.name,
            ‘message‘: ‘上传成功!‘
        }
    
        return JsonResponse(dic)

时间: 2024-08-10 21:30:17

在线编辑器KindEditor的使用的相关文章

在线编辑器kindEditor

操作文档:http://kindeditor.net/doc.php 文件下载

jsp解决kindeditor在线编辑器struts图片上传问题

1.下载 官网下载ckeditor,解压后去掉不需要的部分,仅需保留plugin,lang,theme文件夹,这三个文件夹中用不到的东西可以删除, 比如lang文件下存放所有语言文件js,仅仅 保留en.js和zh_CN.js即可,保留jsp文件夹下的json_upload.jsp文件和 kindeditor.js文件即可,把jsp下面的jar导入 在线编辑器:http://kindeditor.net/ 2.修改json_upload.jsp 修改json_upload.jsp文件保存路径即可

将kindeditor在线编辑器制作成smarty插件

在web开发中,在线编辑器是经常要用到的功能模块,虽说配置在线编辑器没有多大难度,但是每一次编写重复的代码,总是让人感觉不爽. 本篇,就来讲解一下,如何将kindeditor制作成smarty的一个自定义函数. 为什么要制作成自定义函数呢?当然是为了避免写很多重复的代码. {html_kindeditor name="kindcontent"} 假如在模板中调用一个smarty标签,就能生成一个文本编辑器(如上),那开发起来会不会感觉很过瘾呢? 好了,说下流程(本文以集成了smarty

在线编辑器Ckeditor (1) - php (30)

在线编辑器 在线编辑器也称之为所见即所得编辑器,是一种常见的html源码编辑器. 所见即所得:用户在输入的时候,不论是格式和是样式都能被系统原封不动的保存,最后在查看的时候,可以按照用户输入的原来的结构进行输出. 在线编辑器分类 市面上比较常见的在线编辑器有很多,FCKeditor(在线编辑器+Ajax浏览器端服务器文件管理器,免费的),Ckeditor(Content and Knowledge,在线编辑器与服务器端文件管理器分离,在线编辑器免费,服务器端文件管理器收费(CKfinder)),

CKedit在线编辑器

在线编辑器???? ????在实现所见即得的编辑效果. FCK????????????是开发者的名字的缩写 CKEditor????????功能很完善的,具有,在线编辑与图片上传JS插件 UEdit????????????百度自己开发的一款在线编辑器 ? CKeditor安装 http://resource.ckeditor.com/ basic package????????基本安装包????????只包含了基本的功能 standard package????标准安装包????????包含更多

Angularjs在线编辑器

1.TextAngular: https://github.com/fraywing/textAngular textAngular是一个强大的Text-Editor/Wysiwyg 编辑器,用于Angular.js应用中.安装使用方便,可以创建多个编辑器实例,双向绑定HTML内容,可以查看编辑内容的变化.不足之处是不支持上传文件到服务器,只能进行简单的文字编辑,可用于网站的用户评论模块 2.angular.xheditor: https://github.com/cipchk/angular.

用Javascript 编写 HTML在线编辑器

在线编辑器主要有3大类:1.直接用textarea 标签 优点:速度快,提交方便,可以用UBB标签来弥补不能所见所得 缺点:不直观,功能非常少 2.用 DIV或者TABLE的CONTENTEDITABLE 标签,属性来让一个区域可以编辑 优点:可以很直观,可以做各种效果 缺点:此标签在mozilla下不可用,只适合IE浏览器,且对js要求高 3.用iframe或者frame的中的document的document.designMode ="On" 来实现可编辑 优点:具有上面第二条的全

富文本编辑器kindeditor配置

<!--富文本编辑器kindeditor配置↓ --> <link type="text/css" rel="stylesheet" href="kindeditor/themes/default/default.css" /> <link rel="stylesheet" href="kindeditor/plugins/code/prettify.css" /> &l

PHP.25-TP框架商城应用实例-后台1-添加商品功能、钩子函数、在线编辑器、过滤XSS、上传图片并生成缩略图

添加商品功能 1.创建商品控制器[C] /www.test.com/shop/Admin/Controller/GoodsController.class.php <?php namespace Admin\Controller; use Think\Controller; //后台添加商品功能控制器 class GoodsController extends Controller { //显示和处理表单 public function add() { //判断用户是否提交了表单(如果提交了,就