HtmlEncode ckeditor 默认文本
HtmlEncode ckeditor default text
我正在使用 CKEditor 4 处理旧的 ASP.NET WebForms 项目。出于安全原因,我将 CKEditor 设置为 Html 对所有输出进行编码。但是,我注意到如果 textarea 具有应用程序提供的默认文本,除非我进入 textarea 并更改某些内容,否则 CKEditor 似乎不会对值进行编码。因此,如果我做了一些导致回发的事情,比如在页面加载后尝试保存记录,我会从 .NET 收到令人讨厌的页面验证错误。
有没有办法让 ckeditor 认为编辑器已被修改,以便对 HTML 进行编码?或者更好的解决方案?
谢谢
我通过检测 ASP.NET 回发并使用 setData
强制更新编辑器值解决了我的问题
$('input[type="submit"], button[type="submit"], a[href*="__doPostBack"]').on('click', function () {
$instance.setData($editor.html());
});
这似乎不是最好的方法,但确实有效。
更正,这似乎有效,但仅在初始加载时有效。这似乎有效:
$instance.on('instanceReady', function () {
$instance.updateElement();
});
我正在使用 CKEditor 4 处理旧的 ASP.NET WebForms 项目。出于安全原因,我将 CKEditor 设置为 Html 对所有输出进行编码。但是,我注意到如果 textarea 具有应用程序提供的默认文本,除非我进入 textarea 并更改某些内容,否则 CKEditor 似乎不会对值进行编码。因此,如果我做了一些导致回发的事情,比如在页面加载后尝试保存记录,我会从 .NET 收到令人讨厌的页面验证错误。
有没有办法让 ckeditor 认为编辑器已被修改,以便对 HTML 进行编码?或者更好的解决方案?
谢谢
我通过检测 ASP.NET 回发并使用 setData
强制更新编辑器值解决了我的问题$('input[type="submit"], button[type="submit"], a[href*="__doPostBack"]').on('click', function () {
$instance.setData($editor.html());
});
这似乎不是最好的方法,但确实有效。
更正,这似乎有效,但仅在初始加载时有效。这似乎有效:
$instance.on('instanceReady', function () {
$instance.updateElement();
});