zoukankan      html  css  js  c++  java
  • 富文本编辑器相关

    平时我们在写一些可以发表文章的相关功能时,总会时不时会用到富文本编辑器,下面推荐几种开源的富文本编辑器:

    1、UEditor 百度的。

    优点:插件多,基本满足各种需求,类似贴吧中的回复界面。

    缺点:不再维护,文档极少,使用并不普遍,图片只能上传到本地服务器,如果需要上传到其他服务器需要改动源码,较为难办,加载速度慢。

    总结:小项目,可以用用,不推荐使用。

    2、kindeditor

    界面类似百度,效果很像

    文档齐全但用例较少,使用还算方便。

    缺点:总感觉样子不是很好看,没有现代那种风格,还是老式的传统图标。

    http://kindeditor.net/demo.php

    3、simditor

    样式好看,插件不多,基本满足需求

    文档英文,使用较为吃力,如果英文水平不好的话

    github上面开源,维护较好

    因为文档看起来吃力,所以本人没有考虑继续使用。

    http://simditor.tower.im/

    4、bootstrap-wysiwyg

    利用bootstrap实现的,简洁大方好看。

    优点:轻量,好看,使用方便。

    缺点:需要一定的浏览器支持,毕竟需要bootstrap

    http://www.bootcss.com/p/bootstrap-wysiwyg/

    5、wangEditor

    js和css实现

    优点:轻量简洁,最重要的是开源且中文文档齐全。设计的UI漂亮。

    插件基本能满足需求,本人推荐使用。

    http://www.wangeditor.com/index.html

    6、CKEditor

    功能强大,使用较多,可以看他们官网的例子,马上就有感觉。

    优点:编辑能力极强,基本和word差不多了。看起来界面极其优秀的一款。

    缺点:网站访问速度一般,文档英文,需要花时间开发。

    http://ckeditor.com/

    7、tinymce

    支持图片在线处理,插件多,功能强

    编辑能力优秀,界面好看。

    同样文档为英文,开发需要花时间。

    https://www.tinymce.com/

    使用之前需要考虑的点:

    1需要插件,是否需要很多的插件,还是说简单的那些功能就行了。

    2界面考虑,看你喜欢那个界面了。

    3图片是否需要上传图片服务器。

    4文档如果为英文是否会影响开发。

    5支持浏览器类型和版本。

    以kindeditor为例,上传图片的示例:

    <script charset="utf-8" src="/static/kindeditor/kindeditor-all-min.js"></script>
    <script charset="utf-8" src="/static/kindeditor/lang/zh-CN.js"></script>
    <script src="/static/jquery-3.3.1.js"></script>
    <script>
            KindEditor.ready(function(K) {
                    window.editor = K.create('#article_content',{
                        '800px',
                        height:'500px',
                        resizeType:1,
                        uploadJson:'/upload/',  // 指定上传文件的服务器端程序
                        extraFileUploadParams:{// 上传图片、Flash、视音频、文件时,支持添加别的参数一并传到服务器。
                            csrfmiddlewaretoken:$("[name='csrfmiddlewaretoken']").val()
                        },
                        filePostName:'img_file'   // 指定上传文件form名称
    
                    });
            });
    </script>

    后端视图函数的实现

    from blogsite import settings
    import os,json
    def upload(request):
        print(request.FILES)
        filename = request.FILES.get('img_file').name
        filepath = os.path.join(settings.MEDIA_ROOT,'uploadfile',filename)
        with open(filepath,'wb') as f:
            for chunk in request.FILES.get('img_file').chunks():
                f.write(chunk)
        res = {
            'error':0,
            'url':'/media/uploadfile/{}/'.format(filename)
        }
    
        return HttpResponse(json.dumps(res))
  • 相关阅读:
    Apache Shiro和Spring Security的详细对比
    Oauth2.0 用Spring-security-oauth2 来实现
    引入AOP 报错 error at ::0 formal unbound in pointcut
    日记网站收藏
    Spring 在web 容器中的启动过程
    knockoutjs如何动态加载外部的file作为component中的template数据源
    ORACLE触发器详解
    浅谈数据库分表
    HTTP协议详解(真的很经典)
    ThinkPHP的四种URL模式 URL_MODEL
  • 原文地址:https://www.cnblogs.com/zhaopanpan/p/9113300.html
Copyright © 2011-2022 走看看