Javascript CKeditor:保存时转义Html(加载时使其不可命名)

Javascript CKeditor:保存时转义Html(加载时使其不可命名),javascript,html,ckeditor,ckeditor4.x,Javascript,Html,Ckeditor,Ckeditor4.x,ckeditor有点问题。 如果我保存 <body onload="alert('test');"> 对于数据库,重新加载时,将运行代码并触发浏览器警报。我想让CKeditor在保存之前为文本添加一些格式,这样它就不能在加载时运行。post是切向相关的,但不是很相关。 干杯首先,您需要对数据进行编码(将其视为最佳实践)。从CKEditor的角度来看,您只能使用@TiiJ7,但是您还应该确保服务器端代码将编码数据返回到CKEditor。通过编码,我的意思是特殊的HTML字符应更改

ckeditor有点问题。 如果我保存

<body onload="alert('test');">

对于数据库,重新加载时,将运行代码并触发浏览器警报。我想让CKeditor在保存之前为文本添加一些格式,这样它就不能在加载时运行。post是切向相关的,但不是很相关。
干杯

首先,您需要对数据进行编码(将其视为最佳实践)。从CKEditor的角度来看,您只能使用@TiiJ7,但是您还应该确保服务器端代码将编码数据返回到CKEditor。通过编码,我的意思是特殊的HTML字符应更改为如下所示的实体(就像
ckeditor/samples/old
中的每个示例一样):


撇开最佳实践不谈,有一件事让我感到奇怪,那就是为什么在您的案例中执行此
警报。我这样问是因为即使您在源代码模式下粘贴下面未编码的HTML(甚至加载这样的HTML):


然后切换到所见即所得模式,您将不会收到任何
警报
消息,因为它将自动放入
数据cke pa onload
属性。您可以在夜间示例和下面的屏幕截图中验证这一点


您是否使用了导致此问题的第三方插件,或者您已经定制了CKEditor,以便现在可以执行警报?在这种情况下,使用最新和默认版本可能会有所帮助。

检查此项>您是只想清除坏部分(如警报),还是只想将所有html显示为纯文本?@TiiJ7显示为纯文本。我不想对用户数据做任何事情。我只想在保存之前让ckeditor添加一些“转义语法”,这样当浏览器加载数据时,它就不会运行。@minam.cho,这个问题没有经过批准的答案,不幸的是,答案甚至不起作用。这也不是我真正想做的。我不想删除脚本标记。我只是不希望它在加载时运行。在这种情况下,通常建议按原样存储用户的数据,并在显示数据时进行实际的html转义。当然,这是在服务器端完成的,而不是在客户端(如CKEditor)。即使您决定在将html保存到数据库之前对其进行转义,也最好在服务器上进行转义。
    &lt;html&gt;
        &lt;head&gt;
            &lt;meta charset=&quot;utf-8&quot;&gt;
        &lt;/head&gt;
        &lt;body onload=&quot;alert('test');&quot;&gt;
        &lt;/body&gt;
    &lt;/html&gt;
<html>
<head>
    <title></title>
    <meta charset="utf-8">
</head>
<body onload="alert('test');">&nbsp;</body>
</html>