tinymce简介 tinymce是一款能方便无限扩展的网页富文本编辑器. tinymce原装插件已经十分丰富,对于文本编辑(blog等文章)是绰绰有余,但是应对一些复杂的应用,比如在上面开发html网页等,还是有些捉襟见肘. 鉴于,网上关于tinymce的文章都是基于简单使用,而关于插件编写等,一概搜不到. 本系列文章就tinymce一个较老的版本(4.2.8 (2015-xx-xx))进行分析.js源码见: https://github.com/xunhanliu/static/tree/m…
code: 用于显示源码.主要包含一个弹框.设置显示内容以及内容的更新. function showDialog() { var win = editor.windowManager.open({ title: "Source code", body: { type: 'textbox', name: 'code', multiline: true, minWidth: editor.getParam("code_dialog_width", 600), minHe…
fullscreen 作为一款文本编辑器,全屏功能是非常有必要的.在插件中主要是修改一些css style和触发resize事件. style问题(反例): 见github源码:https://github.com/lynzz/element-admin 全屏后: 原因是z-index style风格没有调整好.调整好z-index后: 这里在plugin.js强调三个点: 1. 注意一下窗口的获取方式 2.插件自定义事件在editor上的定义和触发 定义: 触发: 这里的这个事件应该是控制一些…
link 功能描述如下: 单纯放置光标: 1.如果光标放到了<a>上,读取a标签的内容,并弹框显示,确定的时候,更新当前a标签. 2.否则,就创建弹框,确定的时候,按照参数添加a标签. seletion: 1.部分或全部选择<a>的时候,与上面的1一样,更新. 2.选择非文字的<span>.<p>等,会读取选择的文字,并弹框,把显示文字字段填成选择的文字,根据修改,把选择的文字修改成<a>. 当然实际上link的功能不止这些.还有锚点等功能.这需…
searchreplace 功能:查找和替换 代码注释见: https://www.xunhanliu.top/static/js/tinymce/plugins/searchreplace/plugin.js 结构 界面的注册还是editor.addMenuItem和editor.addButton.(plugin.js 370-385).不过入口的形式与前几节的有稍许的变化: 他把界面注册部分放到了Plugin函数的init函数内部了: 这里推测:tinymce.PluginManager.…
在tinymce中使用css个script tinymce的编辑器中css和script默认是不起作用的.(编辑器主要面向写文章使用,考虑到xss攻击,默认是不启用的) 需要修改tinymce.js中几行代码,可以使其起作用. 1.SaxParser.parse中,关于script标签. L11732- L11758注释掉 这一部分的意思是,在Start element处遇见script等标签,直接跳过,不进行解析(不追加到DOM中). 这个函数的调用,一般在editor.setContent中…
priview 此插件文件结构比较简单,按钮注册.editor.windowManager.open.窗口出现之前的渲染数据的准备.页面代码的准备. 注意: 1.preview的默认宽高设置: 2.css的加载: 3.js的加载与css加载类似 4.editor.windowManager.open的页面加载. 使用onPostRender,由于已经准备好iframe框,作者在onPostRender中把准备好的页面数据追加到iframe上.…
使用react全家桶制作博客后台管理系统   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基于react全家桶(React.React-router-dom.redux.styled-components)开发的一套博客后台管理系统,用于前端小站的管理,主要功能包括游客浏览.文章管理.类别管理.评论通知.推荐设置和用户管理 [访问地址] 域名:https://admin.xiaohuoch…
p { margin-bottom: 0.25cm; line-height: 120% } tomcat源码分析(三)一次http请求的旅行 在http请求旅行之前,我们先来准备下我们所需要的工具.首先要说的就是Connector,其作为Service的子容器,承担着http请求的核心功能.那我们先来准备下一啊吧. 我们知道一次网络请求过来之后,从网络的角度来看,是经过物理层→链路层→网络层->传输层->应用层,如下图所示. 我们所熟知的的Socket处于TCP(传输层),操作系统为我们提供…
代码地址:https://github.com/showkawa/spring-annotation/tree/master/src/main/java/com/brian AnnotationConfigApplicationContext启动原理分析主要分析下面三点 1.@Qualifier与@Primary注解的使用2.BeanFactory与ApplicationContext区别3.AnnotationConfigApplicationContext启动原理分析 1.@Qualifie…