最近花费了不少时间来学习用Ckeditor3.6.4,现在把使用心得写下来分享给大家,希望你们不要走那么多的弯路。
1. 将下载的Ckeditor文件夹添加到您的project中,如下图
2. 在要引用Ckeditor的页面里添加引用:<script type="text/javascript" src="/Tools/ckeditor/ckeditor.js"></script>
3. 在页面里添加@Html.TextArea("NoteContent", null, new { @class = "ckeditor", id="Test",style = "margin-left:10px;" }),现在运行代码就可以看见Ckeditor控件啦。
4. 更改Ckeditor的设置,Ckeditor的初始设置是在config.js文件里设置的,关于config.js里面的设置有好多文章介绍了,现在就引用一下吧,这篇blog讲的挺详细的:http://www.cnblogs.com/xlree/archive/2012/05/21/2511790.html
5. 取出Ckeditor里数据的方法:editor_data = CKEDITOR.tools.htmlEncode(CKEDITOR.instances.Test.getData());
注意:必须对这些数据进行编码,才能传递到后台,存储到数据库,因为不编码有些符号是无法识别的。
6. 把数据库存储的数据读到Ckeditor 里的方法:
@Html.TextArea("NoteContent", HttpUtility.HtmlDecode(Model.WorkContent), new { @class = "ckeditor", id = "Test", style = "margin-left:10px;" })
注意:必须对取出的数据进行解码,因为存进去的时候编码了。
7.更改Ckeditor,红色框内的背景颜色,在Ckeditor所在的页面,通过以下js语句可以更改红色框内的背景颜色:
$("iframe")[0].contentWindow.document.body.style.background = “#DDD”;
但是当页面第一次载入的时候,在$(document).ready(function() { // do stuff when DOM is ready });里并不能读到$("iframe")[0], 只有页面载入结束,才能读到$("iframe")[0],
我想在页面载入的时候把背景也载入进来,没有找到更好的方法,所以就用setTimeout("myload()", 3000);方法实现了。这种方
法,一旦超时就没办法加载进背景,除非刷新。大家有没有更好的方法来载入红色框内的背景啊?(window.onload我的程序有冲突,所以不能用。)