HTML——实现富文本编辑器wangEditor的使用

这篇具有很好参考价值的文章主要介绍了HTML——实现富文本编辑器wangEditor的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HTML——实现富文本编辑器wangEditor的使用


背景:最近在写小说项目,关于发布文章需要用到富文本编辑器,由于还没学到Vue,最实用的还是用wangEditor富文本编辑器。

官方文档:http://www.wangeditor.com/

使用手册:创建一个编辑器 · wangEditor3使用手册 · 看云 (kancloud.cn)

至于实现的方式有三种:

一.导入wangEditor.JS

使用方法: wangEditor.min.js,通过手工导入的方式放在项目的静态文件下来引用。

  • 下载地址1: https://github.com/wangfupeng1988/wangEditor/releases

  • 下载地址2:wangEditor.min.js

    由于在官网上没找到,也不想付费下载,就没有用这个方法。这个应该是最简单的方法,只需要用相对路径引用一下即可。

二.直接引用文档链接

优点:引用简单。

缺点:对网络要求较高。

引入链接的网址:https://www.bootcdn.cn/wangEditor/

尝试:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" href="../imgs/logo.png" type="image/x-icon">
    <title>小说创作页面</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/wangEditor/10.0.13/fonts/w-e-icon.woff">
    <link href="https://cdn.bootcdn.net/ajax/libs/wangEditor/10.0.13/wangEditor.min.css" rel="stylesheet">
    <link href="https://cdn.bootcdn.net/ajax/libs/wangEditor/10.0.13/wangEditor.css" rel="stylesheet">
    <style>
        .mainHeader {
            padding-top: 1px;
            padding-bottom: 1px;
            background-color: white !important;
            border-bottom: 5px solid #0b6cb8;
        }

        .logo_icon {

            height: 38px;
        }

        .liColor {
            color: #4f4f4f
        }

        .toolbar {
            border: 1px solid #ccc;
        }

        .text {
            border: 1px solid #ccc;
            height: 500px;
        }
    </style>
</head>
<body style="background-color: whitesmoke">

    <div class="container-fluid">
        <!--    顶部导航栏-->
        <div class="row">
            <div class="col-md-12" style="padding: 0">
                <nav class="navbar navbar-expand-lg navbar-light bg-light mainHeader">
                    <!--                <a class="navbar-brand" href="#">Navbar w/ text</a>-->
                    <!-- <div class="logoDiv" id="logoIcon" style="cursor:pointer">
                        <img class="logo_icon" src="logo_icon_white.png" />
                    </div>

                    <div class="logoDiv" id="logoText">
                        <img class="logo_icon" src="logo_text_white.png" />
                    </div> -->

                    <div class="collapse navbar-collapse" id="navbarText">

                        <ul class="navbar-nav mr-auto">
                            <!--                        <li class="nav-item" style="padding-left: 20px">-->
                            <!--                            <a class="nav-link nav-item"  href="#">首页 </a>-->
                            <!--                        </li>-->

                        </ul>

                        <span class="navbar-nav">
                            <a class="nav-link navbar-item active" href="#">个人中心</a>

                        </span>
                    </div>
                </nav>

            </div>

        </div>

        <div class="row" style="min-height: 10px"></div>

        <div class="row">
            <div class="col-md-1">


            </div>

            <div class="col-md-2" style="padding-right: 0px">

                <div class="row">

                    <div class="col-md-3"></div>

                    <div class="col-md-9">
                        <div class="card">

                            <ul class="nav nav-pills nav-fill flex-column">
                                <li class="nav-item">
                                    <a class="nav-link active list-group-item" href="#">发布文章</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link liColor list-group-item" href="#">文章管理</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link liColor list-group-item" href="#">分类管理</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link liColor list-group-item" href="#">退出</a>
                                </li>
                            </ul>
                        </div>


                    </div>
                </div>


            </div>

            <div class="col-md-6" style="padding-left: 0px">
                <div class="card">
                    <div class="card-header" style="background-color: white">
                        <div class="row">
                            <div class="col-md-3" style="font-size: 18px">发布文章</div>
                            <!--                        <div class="col-md-9" style="margin-top: 8px;font-size: 12px;text-align: right">当前位置>专委会介绍>文件资料</div>-->
                        </div>
                    </div>

                    <div class="card-body" style="min-height: 1000px">

                        <div class="row">
                            <div class="col-md-12">
                                <div class="input-group mb-1 mt-2 ml-0 mr-1">
                                    <div class="input-group-prepend">
                                        <span class="input-group-text">文章标题</span>
                                    </div>
                                    <input id="titleInput" type="text" class="form-control" placeholder="不多于100字"
                                        style="margin-right: 5px">
                                </div>

                            </div>

                        </div>


                        <div style="padding: 8px 0; color: #ccc"></div>
                        <div id="div1" class="toolbar">
                        </div>

                        <div id="div2" class="text"> <!--可使用 min-height 实现编辑区域自动增加高度-->
                            <!--                        <p>请输入内容</p>-->
                        </div>

                        <div class="row">

                            <div class="col-md-5">
                                <div class="input-group mb-3 mt-3 ml-0">
                                    <div class="input-group-prepend">
                                        <span class="input-group-text" id="inputGroup-sizing-default">文章分类</span>
                                    </div>
                                    <input id="categoryInput" type="text" class="form-control">
                                </div>
                            </div>
                        </div>


                        <div class="row" style="padding: 15px">

                            <div class="col-md-1"></div>
                            <div class="col-md-2 ml-0">
                                <button type="button" class="btn btn-primary" id="publishBtn">发布文章</button>
                            </div>
                            <div class="col-md-4">
                                <button type="button" class="btn btn-light">返回</button>
                            </div>



                        </div>

                    </div>

                </div>
            </div>

            <div class="col-md-2">


            </div>
        </div>

    </div>
    <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
    <script>
        $(function () {
            //富文本编辑器初始化代码
            var E = window.wangEditor;
            var editor = new E('#div1', '#div2');

            editor.customConfig.uploadImgShowBase64 = true;   // 使用 base64 保存图片
            editor.create();

            //创建replaceAll()函数,用于替换字符串中出现的所有某个字符
            String.prototype.replaceAll = function (FindText, RepText) {
                return this.replace(new RegExp(FindText, "g"), RepText);
            };

            //发布文章按钮的点击事件,即封装数据,向后台传递
            $("#publishBtn").click(function () {
                console.info("click");
                var postData = {};
                postData.title = $("#titleInput").val();
                postData.category = $("#categoryInput").val();

                //替换双引号为两个单引号,方便编写SQL语句插入数据库中
                var content = editor.txt.html().replaceAll("\"", "\'\'");
                postData.content = content;

                console.info(content);
                postData.author_acc = "123";
                postData.author_name = "admin";
                postData.create_time = new Date().toLocaleDateString();
                postData.last_edit_time = new Date().toLocaleDateString();
                console.info(postData);

                //向后台传递数据,需要根据具体后台来改
                $.post("http://localhost:8099/publishArticle", postData, function (data) {

                    alert(data);
                })

            })

        })

    </script>
    <script src="https://cdn.bootcdn.net/ajax/libs/wangEditor/10.0.13/wangEditor.min.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/wangEditor/10.0.13/wangEditor.min.js.map"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/wangEditor/10.0.13/wangEditor.js"></script>
    <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
</body>
</html>

效果如下:

html富文本编辑器,前端,周记,html,javascript,前端

说明:

这里的代码参照博客(55条消息) html——简单文章发布html页面及富文本编辑器wangEditor的使用发布文章html页面知北行的博客-CSDN博客进行尝试。

三.包管理工具(node和bower 的下载)

步骤如下:

  1. Node.js下载安装及环境配置
  2. bower的安装
  3. 开始引入实现
Node.js下载安装及环境配置

参考博客,超级详细

(55条消息) Node.js下载安装及环境配置教程【超详细】_nodejs安装及环境配置_WHF__的博客-CSDN博客

bower的安装和使用

参考博客,超级详细

(55条消息) bower的安装和使用_bower install_艾希ღ的博客-CSDN博客

选择性的看安装教程即可

在我安装bower的时候遇到了一些问题。

问题一:npm 安装完bower 后,提示’bower’ 不是内部或外部命令

解决办法

1.可能是node配置环境出了问题

(55条消息) npm 安装完bower 后,提示’bower’ 不是内部或外部命令_前端开发小蜜蜂(诗语)的博客-CSDN博客

2.也可能是,下载的cnpm,输入命令之类的用cnpm而不是npm。这里引入一篇博客,讲述cnpm和npm的区别

(55条消息) npm 和 cnpm 的区别_npm cnpm_我想做阿信的博客-CSDN博客
** 问题二:CDN 访问不成功**
解决办法:
html富文本编辑器,前端,周记,html,javascript,前端
操作如下:
html富文本编辑器,前端,周记,html,javascript,前端
html富文本编辑器,前端,周记,html,javascript,前端
html富文本编辑器,前端,周记,html,javascript,前端

引入实现

这里先粘贴一下我的成果

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link href="../css/style.css" rel="stylesheet">
    <style>
        #editor—wrapper {
            border: 1px solid #808080;
            z-index: 100;
            /* 按需定义 */
        }

        #toolbar-container {
            border-bottom: 1px solid #808080;
        }

        #editor-container {
            height: 600px;
        }
    </style>
</head>

<body>
    <div id="editor—wrapper">
        <div id="toolbar-container"><!-- 工具栏 --></div>
        <div id="editor-container"><!-- 编辑器 --></div>
    </div>
</body>
<script src="../js/index.js"></script>
<script>
    const { createEditor, createToolbar } = window.wangEditor

    const editorConfig = {
        placeholder: 'Type here...',
        onChange(editor) {
            const html = editor.getHtml()
            console.log('editor content', html)
            // 也可以同步到 <textarea>
        }
    }

    const editor = createEditor({
        selector: '#editor-container',
        html: '<p><br></p>',
        config: editorConfig,
        mode: 'default', // or 'simple'
    })

    const toolbarConfig = {}

    const toolbar = createToolbar({
        editor,
        selector: '#toolbar-container',
        config: toolbarConfig,
        mode: 'default', // or 'simple'
    })
</script>

<html>

效果如下:
html富文本编辑器,前端,周记,html,javascript,前端

这里仿照的就是wangEditor官方文档的代码

快速开始 | wangEditor
对富文本编辑器wangEditor的实现就介绍到这里了,对于使用和一些其他的配置可以参照官方文档。文章来源地址https://www.toymoban.com/news/detail-516211.html

到了这里,关于HTML——实现富文本编辑器wangEditor的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue使用富文本编辑器 Wangeditor 可显示编辑新增回显禁用

    npm install wangeditor import editorBar from \\\"@/components/ editor/ editor.vue\\\"; Vue.component(\\\'editorBar\\\', editorBar)  editor-bar v-model=\\\"form.nr\\\" :flag=\\\"false\\\" @change=\\\"getcontent\\\" / mothods:{      //获取富文本内容     getcontent (content) {        this.form.nr = content;     }, } editor-bar v-model=\\\"form.nr\\\" :flag=\\\"false\\\" @change=\\\"getc

    2024年02月13日
    浏览(96)
  • Vue3 代码块高亮显示并可使用富文本编辑器编辑(highlight.js + wangEditor)

    在Vue项目中实现以下功能:   功能1. 在页面中显示代码,并将其中的高亮显示。   功能2. 允许对代码块进行编辑,编辑时代码也高亮显示。   功能3. 可在编辑器中添加多个代码块,动态渲染代码高亮。   Step1: 安装所需插件(本文使用npm安装,若需

    2023年04月21日
    浏览(47)
  • wangEditor富文本编辑器的调用开发实录2(V5版本自定义粘贴,去除复制word或网页html冗余样式代码的解决方案)

    在使用wangEditor富文本编辑器时,当从word文档或者其他网页复制文本内容粘贴到编辑器中,如果不过滤掉复制文本中自带的样式,会导致复制的内容比较错乱,甚至无法添加到数据库中。为了解决这个问题,我们需要对从word中粘贴的内容进行处理,把多余的代码剔除,让粘贴

    2024年02月16日
    浏览(42)
  • wangEditor富文本编辑器图片/视频上传

    wangEditor 有丰富的 API 和足够的扩展性,允许我们自定义开发菜单、模块、插件等。在 Vue、React 中运用也很方便。因此本文介绍下vue中富文本上传图片和视频。 安装引入后富文本有显示上传图片按钮,点击上传后会报 没有配置上传地址 的错误,如下图所示: 所以自定义上传

    2024年02月15日
    浏览(65)
  • VUE2整合富文本编辑器 wangEditor

    2024年02月20日
    浏览(50)
  • vue2+wangEditor5富文本编辑器

    1、安装使用 安装 yarn add @wangeditor/editor # 或者 npm install @wangeditor/editor --save yarn add @wangeditor/editor-for-vue # 或者 npm install @wangeditor/editor-for-vue --save  在main.js中引入样式 import \\\'@wangeditor/editor/dist/css/style.css\\\'   在使用编辑器的页面引入js  import { Editor, Toolbar } from \\\"@wangeditor/editor-fo

    2024年01月22日
    浏览(52)
  • vue2+wangEditor5富文本编辑器(图片视频上传)并加锚链接

    官网:https://www.wangeditor.com/v5/installation.html#npm 1、安装使用 安装 在main.js中引入样式 在使用编辑器的页面引入js 模板 js 到这一步编辑完就可以正常显示了 2、上传图片、视频 1)上传到后台接口的可直接按照文档这个配置就行接口返回格式也要可文档上一致 2)自定义上传(一

    2024年02月12日
    浏览(56)
  • vue2+wangEditor5富文本编辑器(图片视频自定义上传七牛云/服务器)

    1、安装使用 安装 在main.js中引入样式 在使用编辑器的页面引入js 模板 js  到这一步编辑器就可以正常显示了 2、上传图片、视频 上传到后台接口的可直接按照文档这个配置就行接口返回格式也要可文档上一致    2)自定义上传(一般上传到别的服务器上,我这边是上传到七

    2024年02月11日
    浏览(69)
  • Vue中使用 WangEditor 编辑器的详细教程

    WangEditor 是一个基于 JavaScript 的富文本编辑器,提供了丰富的编辑功能和灵活的定制能力。以下是 WangEditor 的一些优点: 易于集成和使用 :WangEditor 提供了清晰的 API 和文档,易于集成到各种前端项目中,无论是基于 Vue、React 还是其他框架。 功能丰富 :WangEditor 提供了丰富的

    2024年02月07日
    浏览(50)
  • Vue2 实现内容拖拽或添加 HTML 到 Tinymce 富文本编辑器的高级功能详解

    在 Web 开发中,Tinymce 被广泛应用作为富文本编辑器。除了基础的文本编辑功能,Tinymce 还提供了一系列高级功能,使得文本编辑更加灵活和便捷。本文将介绍如何在 Tinymce 中实现一些高级功能,并深入了解每个工具的使用。 Tinymce 是一款基于 JavaScript 的富文本编辑器,支持丰

    2024年02月03日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包