文件夹结构调整,新增模版自定义功能

This commit is contained in:
xiongxiaoyang
2020-12-26 19:13:07 +08:00
parent f03ab953d0
commit 6ad51908d5
601 changed files with 75656 additions and 8 deletions

View File

@ -0,0 +1,10 @@
# 全屏 & 预览 & 查看源码
## 全屏
虽然 wangEditor 没有内置全屏功能但是你可以通过简单的代码来搞定作者已经做了一个demo来示范通过运行 demo文档一开始就介绍了即可看到该示例页面直接查看页面源代码即可
## 预览 & 查看源码
如果需要预览和查看源码的功能也需要跟全屏功能一样自己定义按钮点击按钮时通过`editor.txt.html()`获取编辑器内容然后自定义实现预览和查看源码功能

View File

@ -0,0 +1,24 @@
# 关于上传附件
**有用户问到编辑器能否有上传附件的功能我的建议是不要把附件做到内容中**
原因很简单如果将附件上传之后再插入到富文本内容中其实就是一个链接的形式如下图
![](http://box.kancloud.cn/2016-02-19_56c718ec6f9bf.png)
而用户在用编辑器编辑文本时操作是非常随意多样的他把这个链接删了你服务器要想实时删除上传的附件文件是难监控到的
还有用户如果要上传很多个附件也是很难管理的还是因为富文本的内容变化多样用户可以随便在什么地方插入附件而且形式和链接一样
-------
反过来我们想一下平时用附件和编辑器最多的产品是什么是邮箱邮箱如何处理附件的大家应该很清楚它把文本内容和附件分开这样附件就可以很轻松明了的进行管理绝对不会和编辑内容的链接产生混淆
![](http://box.kancloud.cn/2016-02-19_56c718ec83f7e.png)
你能看到的所有的邮箱产品几乎都是这样设计的
-------
因此在你提问编辑器能否上传附件这个问题的时候可以想一下能否参照邮箱的实现来设计

View File

@ -0,0 +1,12 @@
# 关于 markdown
**好多使用者问到wangEditor编辑器能否集成markdown答案是富文本编辑器无法和markdown集成到一起**
-----
你可以参考 [简书](http://www.jianshu.com/) 的实现方式,简书中编辑器也无法实现富文本和`markdown`的自由切换。要么使用富文本编写文章,要么使用`markdown`编写文章,不能公用。
本质上富文本编辑器和`markdown`编辑器是两回事儿

View File

@ -0,0 +1,23 @@
# 预防 XSS 攻击
> 术业有专攻
要想在前端预防 xss 攻击还得依赖于其他工具例如[xss.js](http://jsxss.com/zh/index.html)(如果打不开页面,就从百度搜一下)
代码示例如下
```html
<script src='/xss.js'></script>
<script src='/wangEditor.min.js'></script>
<script>
var E = window.wangEditor
var editor = new E('#div1')
document.getElementById('btn1').addEventListener('click', function () {
var html = editor.txt.html()
var filterHtml = filterXSS(html) // 此处进行 xss 攻击过滤
alert(filterHtml)
}, false)
</script>
```

View File

@ -0,0 +1,7 @@
# 用于 React
如果需要将 wangEditor 用于 React 可参见如下示例
- 下载源码 `git clone git@github.com:wangfupeng1988/wangEditor.git`
- 进入 React 示例目录 `cd wangEditor/example/demo/in-react/`查看`src/App.js`即可
- 也可以运行`npm install && npm start`查看在 React 中的效果`http://localhost:3000/`

View File

@ -0,0 +1,7 @@
# 用于 Vue
如果需要将 wangEditor 用于 Vue 可参见如下示例
- 下载源码 `git clone git@github.com:wangfupeng1988/wangEditor.git`
- 进入 vue 示例目录 `cd wangEditor/example/demo/in-vue/`查看`src/components/Editor.vue`即可
- 也可以运行`npm install && npm run dev`查看在 vue 中的效果`http://localhost:8080/`

View File

@ -0,0 +1,3 @@
# 用于 Angular
感谢 [@fengnovo](https://github.com/fengnovo) 提供了一个 angular2 的兼容示例,可供参考 https://github.com/fengnovo/wangEditor/tree/master/example/demo/in-ng2

View File

@ -0,0 +1,27 @@
# 常用 API
## 属性
- 获取编辑器的唯一标识 `editor.id`
- 获取编辑区域 DOM 节点 `editor.$textElem[0]`
- 获取菜单栏 DOM 节点 `editor.$toolbarElem[0]`
- 获取编辑器配置信息 `editor.config`
- 获取编辑区域 DOM 节点 ID `editor.textElemId`
- 获取菜单栏 DOM 节点 ID `editor.toolbarElemId`
- 获取菜单栏中图片菜单的 DOM 节点 ID `editor.imgMenuId`
## 方法
### 选取操作
- 获取选中的文字 `editor.selection.getSelectionText()`
- 获取选取所在的 DOM 节点 `editor.selection.getSelectionContainerElem()[0]`
- 开始节点 `editor.selection.getSelectionStartElem()[0]`
- 结束节点 `editor.selection.getSelectionEndElem()[0]`
- 折叠选取 `editor.selection.collapseRange()`
- 更多可参见[源码中](https://github.com/wangfupeng1988/wangEditor/blob/master/src/js/selection/index.js)定义的方法
### 编辑内容操作
- 插入 HTML `editor.cmd.do('insertHTML', '<p>...</p>')`
- 可通过`editor.cmd.do(name, value)`来执行`document.execCommand(name, false, value)`的操作