首页 > 其他分享 >tinyMce编辑器的使用(本地引用的方式)

tinyMce编辑器的使用(本地引用的方式)

时间:2024-09-27 16:24:22浏览次数:11  
标签:function tinyMce args tinymce value content 编辑器 本地 css

 本地引用,可以免费使用,没有次数限制

 项目存放位置:

index.html页面:

<!--tinymce编辑器 -->
<script src="<%= BASE_URL %>tinymce/tinymce.min.js" type="text/javascript"></script>  

 tinyMce.vue组件页面内容

<template>
  <div>
    <textarea :id="tinymceId"></textarea>
  </div>
</template>
<script>
export default {
  data() {
    return {
      tinymceId:
        "vue-tinymce-" + +new Date() + ((Math.random() * 1000).toFixed(0) + ""),
      Editor: null,
    };
  },

  mounted() {
    this.init();
  },
  methods: {
    init() {
      this.Editor = window.tinymce.init({
        // 默认配置
        // 挂载的DOM对象
        selector: `#${this.tinymceId}`,
        //language_url: "../../../public/tinymce/langs/zh_CN.js",
        language_url: "/tinymce/langs/zh_CN.js",
        language: "zh_CN", //注意大小写
        branding: false,
        //base_url:"/public/tinymce",
        // 扩展插件
        plugins:
          "print preview searchreplace visualblocks visualchars fullscreen image link media template code codesample table charmap hr pagebreak nonbreaking anchor insertdatetime lists wordcount textpattern help emoticons autosave autoresize directionality autolink",
        toolbar1:
          "code undo redo restoredraft | cut copy paste pastetext | forecolor backcolor bold italic underline strikethrough link anchor | alignleft aligncenter alignright alignjustify outdent indent | bullist numlist | ltr rtl | styleselect  fontselect  | blockquote subscript superscript removeformat | table image media charmap emoticons hr pagebreak insertdatetime print preview | fullscreen | bdmap indent2em lineheight formatpainter axupimgs ",

        // toolbar2:
        //   "| styleselect  fontselect  | blockquote subscript superscript removeformat | table image media charmap emoticons hr pagebreak insertdatetime print preview | fullscreen | bdmap indent2em lineheight formatpainter axupimgs",
        //height: 650, //编辑器高度
        // width: 1000,
        // toolbar_location: 'top',
        // menubar: false,
        min_height: 920,
        statusbar: false, //影藏状态栏指的是编辑器最底下、左侧显示dom信息
        //fixed_toolbar_container: '#mytoolbar',
        toolbar_sticky: true,
        content_css: "/tinymce/css/tinyMceReset.css",//载入自定义样式表
        /*content_css: [ //可设置编辑区内容展示的css,谨慎使用
        '/static/reset.css',
        '/static/ax.css',
        '/static/css.css',
    ],*/
        fontsize_formats: "12px 14px 16px 18px 24px 36px 48px 56px 72px",
        font_formats:
          "微软雅黑=Microsoft YaHei,Helvetica Neue,PingFang SC,sans-serif;苹果苹方=PingFang SC,Microsoft YaHei,sans-serif;宋体=simsun,serif;仿宋体=FangSong,serif;黑体=SimHei,sans-serif;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;",
        link_list: [
          { title: "预置链接1", value: "http://www.tinymce.com" },
          { title: "预置链接2", value: "http://tinymce.ax-z.cn" },
        ],
        image_list: [
          {
            title: "预置图片1",
            value: "https://www.tiny.cloud/images/[email protected]",
          },
          {
            title: "预置图片2",
            value: "https://www.baidu.com/img/bd_logo1.png",
          },
        ],
        image_class_list: [
          { title: "None", value: "" },
          { title: "Some class", value: "class-name" },
        ],
        importcss_append: true,
        //自定义文件选择器的回调内容
        file_picker_callback: function (callback, value, meta) {
          if (meta.filetype === "file") {
            callback("https://www.baidu.com/img/bd_logo1.png", {
              text: "My text",
            });
          }
          if (meta.filetype === "image") {
            callback("https://www.baidu.com/img/bd_logo1.png", {
              alt: "My alt text",
            });
          }
          if (meta.filetype === "media") {
            callback("movie.mp4", {
              source2: "alt.ogg",
              poster: "https://www.baidu.com/img/bd_logo1.png",
            });
          }
        },
        toolbar_sticky: true,
        autosave_ask_before_unload: false,
        paste_data_images: true, //允许拖拽,粘贴图片到编辑器
        //images_file_types: 'jpeg,jpg,png,gif,bmp,webp',//允许拖拽,粘贴图片到编辑器的格式

        init_instance_callback: function (editor) {
          editor.on("ExecCommand", function (e) {
            console.log("The " + e.command + " command was fired.");
          });

          //内容变化的事件注册
          // editor.on("NodeChange", function (element, parents, selectionChange) {
          //   console.log("@@@NodeChange@@@", element, parents, selectionChange);
          // });

          //Fired before a command is executed.
          editor.on("BeforeExecCommand", function (command, ui, value) {
            console.log("@@@BeforeExecCommand@@@", command, ui, value);
            if (command == "mcePreview") {
              return false;
            }
            if (command == "mcePrint") {
              console.log(111);
            }
          });
          editor.on("SetContent", function (content, format, paste, selection) {
            var spanDoc = tinymce.activeEditor.dom.select(".tinyMceNote");
            for (var i = 0; i < spanDoc.length; i++) {}
          });

          //可以注册事件的列表信息参考
          //https://www.tiny.cloud/docs/advanced/events/#editorcoreevents

          // 编辑器内容发生变化时
          editor.on("change", function (e) {
            console.log("the event object ", e);
          });
        },

        // 粘贴内容格式处理
        paste_preprocess: function (plugin, args) {
          //args.content = "helloworld";
          console.log("args.content", args.content);
          console.log("args.node", args);

          args.content = args.content.replace(/&lt;/g, "<");
          args.content = args.content.replace(/&gt;/g, ">");
          args.content = args.content.replace(/&quot;/g, "'");

          args.content = args.content.replace(/position: absolute/g, "");
          args.content = args.content.replace(/position: fixed/g, "");
          args.content = args.content.replace(/position: relative/g, "");
        },
      });
    },
  },
};
</script>
<style lang="scss" scoped></style>

标签:function,tinyMce,args,tinymce,value,content,编辑器,本地,css
From: https://blog.csdn.net/happy_xn/article/details/142419948

相关文章

  • 给Java同仁单点的AI"开胃菜"--搭建一个自己的本地问答系统
    这是我参与创作者计划的第1篇文章大家好,因为对AI大模型很感兴趣,相信很多兄弟们跟我一样,所以最近花时间了解了一些,有一些总结分享给大家,希望对各位有所帮助;本文主要是目标是讲解如何在本地搭建一个简易的AI问答系统,主要用java来实现,也有一些简单的python知识;网上很多例子都......
  • .Net Web项目中,实现轻量级本地事件总线 框架
    一、事件总线设计方案1.1、事件总线的概念事件总线是一个事件管理器,负责统一处理系统中所有事件的发布和订阅。事件总线模式通过提供一种松耦合的方式来促进系统内部的业务模块之间的通信,从而增强系统的灵活性和可维护性。1.2、实现的功能目标注入事件总线服务到DI容器,自......
  • 前端使用webpack本地实现编译时出现错误[cached] 1 asset ERROR in main Module not
    一:概述Webpack是一个现代JavaScript应用程序的静态模块打包工具。它主要用于将JavaScript代码、CSS、图片等资源模块化管理,并最终打包成一个或多个文件,方便在浏览器中使用。以下是对Webpack的详细介绍:主要特点模块化:Webpack支持ES6模块、CommonJS和AMD模块,能够将各种......
  • 掌握 Git:如何删除本地、合并和远程分支
    在软件开发领域,有效的版本控制对于确保顺利协作和项目管理至关重要。Git是使用最广泛的版本控制系统之一,了解如何有效地处理分支可以节省时间并防止错误。在本文中,我们将探讨如何管理本地、合并和远程Git分支,重点关注有助于简化工作流程的命令。删除本地Git分支在处理项目时......
  • Windows如何本地部署llamafile并运行千问7b大模型无需安装运行环境或依赖库
    文章目录前言1.下载llamafile2.下载大语言模型3.运行大语言模型4.安装Cpolar工具5.配置远程访问地址6.远程访问对话界面7.固定远程访问地址前言本文主要介绍在Windows系统电脑如何利用llamafile结合cpolar内网穿透工具,实现随时随地远程访问本地大语言模型的......
  • 全域电商平台和本地服务商抽佣系统、分账系统、代付系统解析和使用便利分析
    全域电商平台和本地服务商的抽佣系统、代分账系统、代付系统是现代电子商务中的重要组成部分,它们各自承担着不同的功能,并且对于平台的运营和用户体验有着直接的影响。抽佣系统通常用于从交易中抽取一定比例的费用作为平台的收入。抽佣比例可以根据商品类别、交易金额、卖家等......
  • PC机上使用qemu-user-static + Docker实现arm/aarch64本地编译
    参考的链接:https://www.cnblogs.com/chen2ha/p/17180287.html文章很长,一些关键点在:取得docker,Docker可以通过Linux发布版中取得,也可以从docker网站上下载编译好的程序。下载链接:https://download.docker.com/linux/static/stable/x86_64/这里下载的是PC上的Docker,如果需要a......
  • 群晖NAS本地部署Bitwarden结合内网穿透实现跨网络跨平台远程连接
    文章目录前言1.拉取Bitwarden镜像2.运行Bitwarden镜像3.本地访问4.群晖安装Cpolar5.配置公网地址6.公网访问Bitwarden7.固定公网地址8.浏览器密码托管设置前言本文主要介绍如何在本地部署密码管理软件bitwarden并结合cpolar内网穿透工具,可以实现无公网IP远......
  • 【AI换脸王教程】升级Facefusion3.0整合包,换脸+表情修改,本地部署永久不限使用
    你是否想过瞬间变脸于多张图片之间,甚至在热门视频中“穿越”成主角?又或者你还在因请真人模特、拍实景图、请剪辑师,花了一大半制作费用?GPT-4已经被称为最像“人”的AI,但你还没玩透AI?自媒体/电商从业者都想借助AI解放双手,降本增效,但却不知如何下手?今天揭秘的这款AI神器—FaceFusion3......
  • 本地部署运行 Google Gemma 开源大模型
    Google开源了Gemma大模型,有7B和2B两个版本,7B模型的能力已经是开源模型中的领先水平。Gemma可以轻松的在本地部署运行,如果你的显存在8G以上,可以体验7B版本,8G以下的话可以试试2B版本。部署过程如下:1、使用ollama运行Gemma模型2、使用Chatbox作为UI客户端......