CKeditor 使用


CKeditor就是FCKeditor 只是后来FCKeditor 改名字了
最近的CKeditor 已经不再需要dll文件了 全部都集成在了js文件中 那么不论是.net 还是J2EE平台都能很方便的用啦

这里是他的官方网址 http://ckeditor.com/
解压后 有一个 CKeditor 文件夹 粘贴到项目中即可

在页面文件中添加JS
<script type="text/javascript" src="http://cart55free99.blog.163.com/blog/../ckeditor/ckeditor.js"></script>

拖入一个文本输入框TextBox1 且TextMode="MultiLine" 然后用JS替换成CKEditor的文本输入框

替换的方法
第一种为是使用window.onload
<script type="text/javascript">
window.onload=function()
{
CKEDITOR.replace('TextBox1');
}
</script>

另外一种(推荐)
<asp:TextBox ID="TextBox1" TextMode="MultiLine" runat="server"></asp:TextBox>
<script type="text/javascript">
CKEDITOR.replace('TextBox1');
</script>

如果嫌默认输入框的工具太多
可以修改config.js
修改为这样

CKEDITOR.editorConfig = function( config )
{
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
config.toolbar =
[
['Bold', 'Italic', 'Underline', 'Strike', '-', 'Subscript', 'Superscript'],
['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'],
['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
['Link', 'Unlink', 'Anchor'],
['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak'],
'/',
['Styles', 'Format', 'Font', 'FontSize'],
['TextColor', 'BGColor'],
['Maximize', 'ShowBlocks', '-', 'Source', '-', 'Undo', 'Redo']


];
};
CKEDITOR.config.htmlEncodeOutput = true;


官方配置方式:
http://docs.fckeditor.net/ckeditor_api/symbols/CKEDITOR.config.html#.autoUpdateElement


关于CKEDITOR.config.htmlEncodeOutput = true;
其实设置成这样 就不会出现 A potentially dangerous Request.Form value was detected from the client 这种报错了
这种错误网上其他地方的解决方法不是很好 会降低系统的安全性

因为设置为true后会把所有的HTML标签转换
例如 <p>转换为 &lt;p&gt;
信息将以这样的方式存入数据库
当数据从数据库中取出来
如果数据库中本身的数据就是<strong>b</strong> 那么responsewrite的化 页面上就是有格式的文本
而如果数据库中是&lt;p&gt; 解析出来就是带有HTML标签的文本 这样的<p>
而我是希望有格式 那么数据从数据库中取出来的时候decode一次 使得&lt;p&gt; 变成<p>
然后再写到页面上

decode的使用 http://msdn.microsoft.com/zh-cn/library/7c5fyk1k%28v=vs.80%29.aspx

 

原文地址:https://www.cnblogs.com/cart55free99/p/2470658.html