Ckeditor 4.5.4,在编辑的时候,使用源码编辑,当保存内容包含Javascript、Style标签的时候,数据库中有Javascript、Style标签,输入到页面也可以执行,但是我再次编辑的时候就不见了,是Ckeditor把它们过滤掉了,需要做如下配置:

CKEDITOR.replace( 'textarea_id', { allowedContent: true });


最后又发现一个问题:

设置了{ allowedContent: true}后,虽然html没有被过滤,但是html实体被渲染成真正的html效果。

即,本来我想仅仅展示html代码,而不是让它渲染真正的html效果。

好在Ckeditor提供了JS操作Ckeditor实例,给编辑器赋值的接口setData('编辑器的默认值')。

原来的前端代码参考如下:

<textarea id="<!--{$inputId}-->" name="<!--{$inputName}-->"><!--{$defaultValue}--></textarea>
<script type="text/javascript">
    var ck_obj_<!--{$inputId}--> = CKEDITOR.replace('<!--{$inputId}-->', {width: '<!--{$width}-->', height: '<!--{$height}-->'});
</script>

改造后的前端代码参考如下:

<pre id="pre_<!--{$inputId}-->" class="hidden">
    <!--{$defaultValue}-->
</pre>
<textarea id="<!--{$inputId}-->" name="<!--{$inputName}-->"></textarea>
<script type="text/javascript">
    var ck_obj_<!--{$inputId}--> = CKEDITOR.replace('<!--{$inputId}-->', { width: '<!--{$width}-->', height: '<!--{$height}-->' });
    ck_obj_<!--{$inputId}-->.setData($('#pre_<!--{$inputId}-->').html());
    $('#pre_<!--{$inputId}-->').remove();
</script>

注意,服务端PHP获取编辑器的内容,参考代码如下:

$_POST['<!--{$inputName}-->']

延伸阅读

CKEditor使用笔记

解决Ckeditor编辑器不显示html实体,自动过滤html的问题的更多相关文章

  1. dede5.7 GBK 在php5.4环境下 后台编辑器无法显示文章内容

    问题的原因是:是htmlspecialchars,PHP 5.4后GBK编码下默认不支持中文,转换后内容为空,UTF-8编码没有任何问题.   解决方法如下: 在\include\ckeditor\c ...

  2. 使用gulp解决外部编辑器修改Eclipse文件延迟更新的问题

    本人前端用惯了Hbuilder,修改了eclipse项目中的文件后,由于是外部编辑器修改过的,eclipse不会自动部署更新,一般按F5刷新项目,或者在 preferences > genera ...

  3. android窗口泄漏,isInEditMode解决可视化编辑器无法识别自定义控件的问题

    android窗口泄漏 在做项目是遇到这个错误:google:WindowManager: Activity has leaked window. 产 生原因:我们知道Android的每一个Activ ...

  4. ckeditor编辑器在java项目中配置

    一.基本使用: 1.所需文件架包 A. Ckeditor基本文件包,比如:ckeditor_3.6.2.zip 下载地址:http://ckeditor.com/download 2.配置使用 A.将 ...

  5. 网站搭建 (第06天) Ckeditor编辑器

    一.前言 富文本编辑器,Rich Text Editor, 简称 RTE, 是一种可内嵌于浏览器,所见即所得的文本编辑器,这是百度百科的对富文本编辑器的解释.我们可以借助富文本编辑器,编辑出来一个包含 ...

  6. 解决XP系统任务管理器显示不全

    我们在使用电脑的时候有的时候打开任务管理器会发现任务管理器显示不全. 当碰到这种情况怎么解决呢?任务管理器显示不全的原因又是那些呢? 这里就来为大家分享下为什么任务管理器会显示不全以及如何解决这个问题 ...

  7. android中Textview 和图片同时显示时,文字省略号显示,图片自动靠到右边

    很纠结的一个标题,实在是不知道怎么去描述这个现象. 上图片吧,先看看需求是什么样的. 1.需求: ​ 视频与票的图标跟在标题后面显示,当标题过长时icon显示到省略号…后(textview省略号显示, ...

  8. 使用gulp解决外部编辑器修改Eclipse文件延迟刷新

    本人前端用惯了Hbuilder,修改了eclipse项目中的文件后,由于是外部编辑器修改过的,eclipse不会自动部署更新,一般按F5刷新项目,或者在 preferences > genera ...

  9. 解决NetBeans编辑器中文乱码问题

    在JDK→JRE→lib目录下找到fontconfig.properties.src文件,打开,找到# Component Font Mappings,表示字体映射,可以看到下面列出了几种字体映射集合 ...

随机推荐

  1. .net中ckeditor的应用

    ①js文件的引入 <script src="/public/ckeditor_4.4.7/ckeditor.js"></script> <script ...

  2. CF 468A 24 Game

    题目链接: 传送门 24 Game time limit per test:1 second     memory limit per test:256 megabytes Description L ...

  3. 对iOS中Delegate的理解

    首先 协议protocol 和委托delegate 是两个完全不同的概念  放在一起说 是因为我们总是在同一个头文件里看到它们: 首先解释一下什么是委托 :举个例子 ,我工作的时候给你打电话,让你帮我 ...

  4. Rsync

    转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [rsync实现网站的备份,文件的同步,不同系统的文件的同步, ...

  5. Saltstack异步执行命令(十三)

    Saltstack异步执行命令 salt执行命令有时候会有超时的问题,就是命令下发下去了,部分主机没有返回信息,这时候就很难判断命令或任务是否执行成功.因此,salt提供异步执行的功能,发出命令后立即 ...

  6. 分析setting源代码获取sd卡大小

    分析setting源代码获取sd卡大小 android系统有一个特点,即开源,我们可以得到任何一个应用的源代码,比如我们不知道这样的android代码怎么写,我们可以打开模拟器里面的设置(settin ...

  7. linux程序处理po多语言的两种脚本配置方式

    1.在configure.ac里面配置ALL_LINGUAS,然后调用AM_GLIB_GNU_GETTEXT 2.在po目录下面放置LINGUAS文件,由gettextize来生成并处理

  8. QT的安装和配置及helloqt程序的编写时遇到的问题

    1.如果在Windows下命令行编译和运行.cpp 文件,需要找到合适的命令所在文件夹的目录,把它添加到Windows的环境变量里去,SystemPropertiesAdvance. 如qmake 在 ...

  9. host,nslookup,dig 命令安装

    host,nslookup,dig依赖bind包,所以先看一下系统有没有bind包 命令如下:rpm -qa |grep bind 如果没有或者版本太低请升级安装 命令是:yum install bi ...

  10. CentOS7 Mini安装Oracle后用PL/SQL连接数据库(图形化安装)

    1.本来是安装完数据库后,本地可以访问了,而Win10下Oracle客户端配置Oracle Net Manager时报连接超时 解决方法: 这种连接超时,让我想到telnet连接问题,就用telnet ...