mvc项目中用到了这个富文本编辑就试着把遇到的问题个使用步骤在这里记录一下,但愿你们少走弯路。html
1.首先咱们先下载net版本的uediotjson
r.安全
2.而后把整个文档拷贝到咱们的项目中,记得是整个mvc
3.下边是要修改ueditor.config.js文件编辑器
要修改的地方就一个ui
由于个人目录是这样的spa
4.接着修改net文件下config.json文件code
这个就是要修改你上传一些文件要存储的路径,很少说了。(注意这里的路径若是不正确图片或者其余的就显示不出来的)orm
5.就是要在你的html页面写Ueditor就能够了。htm
6.这里遇到的问题有两个
(1)经过form表单或者直接传给controller,文本编辑内容都取不到并且报错说验证XXX内容不安全。
这是由于传过来的是html文本,咱们要用FormCollection获取值并在controller加上 [ValidateInput(false)]
(2)第二个问题就是说找不到zeroclipboard.config is not a function(可能有的人遇不到这个问题)
这个就要修改ZeroClipboard.js了,具体缘由看一下这个http://www.cnblogs.com/TiestoRay/p/4997195.html
近期该项目引入了Requirejs,结果发如今有富文本编辑器的页面都会在控制台报出以下异常:
Uncaught ReferenceError: ZeroClipboard is not defined ueditor.all.min.js:265
经查看代码后发现 ueditor.../third-party/zeroclipboard/ZeroClipboard.js中 输出方法的地方是酱紫的
if (typeof define === "function" && define.amd) { define(function() { return ZeroClipboard; }); } else if (typeof module === "object" && module && typeof module.exports === "object" && module.exports) { module.exports = ZeroClipboard; } else { window.ZeroClipboard = ZeroClipboard; }
意思就是说
这样 解决方案就有两种。
①不使用模块加载模式来使用这个功能
这样方法须要修改一点源码,把上面这段代码替换成以下代码便可
if (typeof define === "function" && define.amd) { define(function() { return ZeroClipboard; }); } else if (typeof module === "object" && module && typeof module.exports === "object" && module.exports) { module.exports = ZeroClipboard; } window.ZeroClipboard = ZeroClipboard;
②若是不修改源码,就得在模块加载时作处理了
首先是修改配置
require.config({
baseUrl: '', paths: { ZeroClipboard: "./UEditor.../ZeroClipboard"//主要是加这句话 } });
而后是在调用这个模块并把模块定义到全局变量
require(['ZeroClipboard'], function (ZeroClipboard) { window['ZeroClipboard'] = ZeroClipboard; });
-------------------
以上就是全部遇到的问题和使用步骤。