zoukankan      html  css  js  c++  java
  • 关于Froala Editor的简单使用

    1.添加样式表

    <!-- 核心样式表 -->
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/froala_editor.min.css" />
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/froala_style.min.css" />
    <!-- 各个插件样式表,按需求使用 -->
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/char_counter.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/code_view.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/colors.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/emoticons.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/file.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/fullscreen.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/image.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/image_manager.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/line_breaker.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/quick_insert.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/table.css">
    <link rel="stylesheet" href="${ctx}/resources/froala_editor/css/plugins/video.css">
    <!-- 主题样式表,可选择使用 -->
    <link href="${ctx}/resources/froala_editor/css/themes/dark.min.css" rel="stylesheet" type="text/css" />
    <link href="${ctx}/resources/froala_editor/css/themes/red.min.css" rel="stylesheet" type="text/css" />
    <link href="${ctx}/resources/froala_editor/css/themes/gray.min.css" rel="stylesheet" type="text/css" />
    <link href="${ctx}/resources/froala_editor/css/themes/royal.min.css" rel="stylesheet" type="text/css" />

    2.添加各个插件

    <!-- 核心脚本 -->
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/froala_editor.min.js"></script>
    <!-- 各个插件脚本 -->
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/align.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/char_counter.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/code_beautifier.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/code_view.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/colors.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/draggable.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/emoticons.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/entities.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/file.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/font_family.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/font_size.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/fullscreen.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/image.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/image_manager.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/inline_style.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/line_breaker.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/link.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/lists.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/paragraph_format.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/paragraph_style.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/quick_insert.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/quote.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/table.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/save.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/url.min.js"></script>
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/plugins/video.min.js"></script>
    <!-- 语言脚本 -->
    <script type="text/javascript" src="${ctx}/resources/froala_editor/js/languages/zh_cn.js"></script>

    3.网页内容

    <!-- 此处加载编辑器 -->
    <div id='edit'></div><br/>
    <!-- 此处用于显示 -->
    <pre id="view"></pre>

    4.初始化/废弃编辑器

    $('#edit').froalaEditor({});
    $('#edit').froalaEditor('destroy');

    5.我的配置,可用

    $(function () {
            $('#edit').on('froalaEditor.initialized', function (e, editor) {
                editor.events.bindClick($('body'), '#save', function () {
                    var fs = editor.html.get();
                    editor.events.focus();
                });
            }).on('froalaEditor.initialized', function (e, editor) {
                editor.events.bindClick($('body'), '#release', function () {
                    var fs = editor.html.get();
                    $("#msgForm").submit();
                    editor.events.focus();
                });
            }).froalaEditor({
                heightMin: 450,
                heightMax: 800,
                placeholderText: '',
                pastePlain: true,
                theme: 'gray',
                fontFamilySelection: true,
                fontSizeSelection: true,
                paragraphFormatSelection: true,
                toolbarStickyOffset: 53,
                toolbarButtons: ['fullscreen', '|', 'insertLink', 'insertImage', 'insertVideo', 'insertFile', 'insertTable', '|', 'quote', 'insertHR', 'subscript', 'superscript', 'undo', 'redo', '-', 'bold', 'italic', 'underline', 'strikeThrough', '|', 'fontFamily', '|', 'fontSize', '|', 'color', 'emoticons', 'inlineStyle', '-', 'paragraphFormat', '|', 'paragraphStyle', 'align', 'formatOL', 'formatUL', 'outdent', 'indent', 'clearFormatting'],
                imageAllowedTypes: ['jpeg', 'jpg', 'png', 'gif'],
                imageDefaultWidth: 100,
    //             imageInsertButtons: ['imageBack', '|', 'imageUpload', 'imageByURL'],
    //             imageUploadURL: '/upload_image',
                imageManagerLoadURL: 'http://i.froala.com/assets/photo1.jpg',
                fileUploadURL: '/upload_file',
                language: 'zh_cn'
            });
        });

    6.下面是一些笔记,未整理的内容

    正在研究froala_editor2.2.2
    <div id='edit'></div>
    <br/>
    <pre id="eg-previewer" class="prettyprint">
    </pre>
    $('#edit').froalaEditor({
    heightMin: 100,
    heightMax: 200
    });
    启用在线代码编辑器
    <!-- Code Mirror CSS file. -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
    <!-- Include the plugin CSS file. -->
    <link rel="stylesheet" href="../css/plugins/code_view.min.css">
    <!-- Code Mirror JS files. -->
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
    <!-- Include the plugin JS file. -->
    <script type="text/javascript" src="../js/plugins/code_view.min.js"></script>
    初始化/销毁编辑器
    $('#edit').froalaEditor({});
    $('#edit').froalaEditor('destroy');
    获得内容
    $('div#froala-editor').froalaEditor('html.get');
    自定义添加按钮
    $(function() {
    $.FroalaEditor.DefineIcon('insertHTML', {NAME: 'plus'});
    $.FroalaEditor.RegisterCommand('insertHTML', {
    title: 'Insert HTML',
    focus: true,
    undo: true,
    refreshAfterCallback: true,
    callback: function () {
    this.html.insert('Some Custom HTML.');
    this.undo.saveStep();
    this.html.set('');
    this.events.focus();
    }
    });

    $('div#froala-editor').froalaEditor({
    toolbarButtons: [
    'bold', 'italic', 'underline', 'paragraphFormat', 'formatOL',
    'formatUL', 'insertHTML', 'undo', 'redo', 'html'
    ]
    })
    });
    自定义组合按钮
    $.FroalaEditor.DefineIcon('my_dropdown', {NAME: 'cog'});
    $.FroalaEditor.RegisterCommand('my_dropdown', {
    title: 'Advanced options',
    type: 'dropdown',
    focus: false,
    undo: false,
    refreshAfterCallback: true,
    options: {
    'v1': 'Option 1',
    'v2': 'Option 2'
    },
    callback: function (cmd, val) {
    console.log (val);
    },
    // Callback on refresh.
    refresh: function ($btn) {
    console.log ('do refresh');
    },
    // Callback on dropdown show.
    refreshOnShow: function ($btn, $dropdown) {
    console.log ('do refresh when show');
    }
    });

    $('div#froala-editor').froalaEditor({
    toolbarButtons: ['bold', 'italic', 'formatBlock', 'my_dropdown']
    })
    });
    绑定事件
    $(function() {
    $('div#froala-editor')
    .on('froalaEditor.initialized', function (e, editor) {
    editor.events.bindClick($('body'), 'a#get-text', function () {
    editor.html.set('');
    editor.events.focus();
    });
    })
    .froalaEditor()
    });

    图片工具按钮
    <!-- Include the plugin js file. -->
    <script src="../js/plugins/image.min.js"></script>
    imageEditButtons:
    图片样式工具按钮自定义
    <style>
    .class1 {
    border-radius: 10%;
    border: 2px solid #efefef;
    }

    .class2 {
    opacity: 0.5;
    }
    </style>
    $(function() {
    $('div#froala-editor').froalaEditor({
    // Define new image styles.
    imageStyles: {
    class1: 'Class 1',
    class2: 'Class 2'
    },
    })
    });
    文字方向
    direction: rtl / ltr
    中文
    language: "zh_cn"
    自定义超链接样式
    $(function() {
    $('div#froala-editor').froalaEditor({
    // Define new link styles.
    linkStyles: {
    class1: 'Class 1',
    class2: 'Class 2'
    },
    })
    });
    自定义设置超链接地址
    $(function() {
    $('div#froala-editor').froalaEditor({
    linkList: [
    {
    text: 'Froala',
    href: 'https://froala.com',
    target: '_blank'
    },
    {
    text: 'Google',
    href: 'https://google.com',
    target: '_blank'
    },
    {
    text: 'Facebook',
    href: 'https://facebook.com'
    }
    ]
    })
    });
    最大字符数
    charCounterMax: 140,
    输入框提示
    placeholderText: 'Start typing something...'
    当pasteplain选项启用,froala WYSIWYG HTML编辑器过滤器粘贴的内容并只保留纯文本通过去除所有丰富的格式。
    pastePlain: true
    弹出编辑
    <div id="froala-editor" style="display: inline-block;">
    Click here to edit this text in a Froala popup.
    </div>
    $(function() {
    $('div#froala-editor').froalaEditor({
    editInPopup: true
    })
    });
    全工具
    toolbarButtons: ['fullscreen', 'bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', '|', 'color', 'emoticons', 'inlineStyle', 'paragraphStyle', '|', 'paragraphFormat', 'align', 'formatOL', 'formatUL', 'outdent', 'indent', '-', 'insertLink', 'insertImage', 'insertVideo', 'insertFile', 'insertTable', '|', 'quote', 'insertHR', 'undo', 'redo', 'clearFormatting', 'selectAll', 'html'],
    使用iframe编辑的内容将被放置在一个iframe和网页的其他部分分离。
    iframe: true
    点击才初始化编辑器
    initOnClick: true
    内部编辑器
    toolbarInline: true,
    编辑器样式
    theme: 'royal'
    编辑器是否跟随
    toolbarSticky: false
    编辑框移动
    toolbarStickyOffset: 100
    实时获得html代码显示
    $(function() {
    $('div#froala-editor')
    .on('froalaEditor.contentChanged froalaEditor.initialized', function (e, editor) {
    $('pre#eg-previewer').text(editor.codeBeautifier.run(editor.html.get()))
    $('pre#eg-previewer').removeClass('prettyprinted');
    prettyPrint()
    })
    .froalaEditor()
    });
    实时获得编辑内容显示
    $(function() {
    $('div#froala-editor').froalaEditor()
    .on('froalaEditor.contentChanged', function (e, editor) {
    $('#preview').html(editor.html.get());
    })
    });
    工具条
    toolbarButtons:(≥ 1200px) ['bold', 'italic', 'underline', 'insertLink', 'undo', 'redo'],
    toolbarButtonsMD:(≥ 992px)
    toolbarButtonsSM:(≥ 768px)
    toolbarButtonsXS:(< 768px)
    右下角计数器
    charCounterCount: false,

    toolbarVisibleWithoutSelection: true
    可用插件
    pluginsEnabled: ['image', 'link', 'draggable'],
    回车键是div还是br
    enter: $.FroalaEditor.ENTER_DIV
    enter: $.FroalaEditor.ENTER_BR
    快捷键可用
    shortcutsEnabled: ['bold', 'italic']
    设置tab按钮空格数目
    tabSpaces: 4

    其他一个按钮的编辑
    <button id="edit" class="r-btn highlight text-small">Button</button>
    $(function() {
    $('button#edit').froalaEditor()
    .on('froala.editor.contentChanged', function () {
    console.log ('content changed');
    })
    });
    div
    textarea

  • 相关阅读:
    浅析Scrapy框架运行的基本流程
    排序和搜索
    设计模式:桥接模式及代码示例、桥接模式在jdbc中的体现、注意事项
    设计模式:适配器模式(类适配器、对象适配器、接口适配器)
    设计模式:建造者模式及在jdk中的体现,建造者模式和工厂模式区别
    java的线程、创建线程的 3 种方式、静态代理模式、Lambda表达式简化线程
    设计模式:原型模式介绍 && 原型模式的深拷贝问题
    设计模式:工厂设计模式介绍及3种写法(简单工厂、工厂方法、抽象工厂)
    设计模式:单例模式介绍及8种写法(饿汉式、懒汉式、Double-Check、静态内部类、枚举)
    设计模式七大原则及代码示例
  • 原文地址:https://www.cnblogs.com/loveflycforever/p/5350453.html
Copyright © 2011-2022 走看看