根据客户的要求,我们刚刚将大型站点的自定义CMS系统从FCKEditor 2.x升级到CKEditor 3.5.3。
在ItemTemplate中我有一个自定义的UserControl标记,其中的属性由DataBinding填充,如下所示:
<my:Viewer runat="server">
<ItemTemplate>
<my:CustomTag runat="server"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %>' />
</ItemTemplate>
</my:Viewer>
所以,关键是上面的工作正常。但是,当将HTML放入最新的CKEditor时,CKEditor会将ImageUrl属性更改为使用双引号而不是单引号。一旦将其更改为双引号,就会在.aspx页面上导致解析错误。更改:"ImageUrl" to "ImageUrl"
有效,但对于将要更新非常大的CMS系统中存在的每个页面的客户来说,它并不理想。所以,我问这个问题,希望有人可能知道一种方法来切换CKEditor默认使用HTML属性中的单引号而不是双引号来减少我的客户端必须做的工作量。
我只是在寻找简单的配置类型更改,而不是修补编辑器等。
答案 0 :(得分:0)
这应该做你想要的事情
取自这里
http://cksource.com/forums/viewtopic.php?f=11&t=20647&sid=f47526ecfb1f2303ad0b923ceed7aafe&start=10
为避免CKEditor更改特殊字符: 在源视图中切换:
CKEDITOR.instances.TEXT.on( 'mode', function(ev) {
if ( ev.editor.mode == 'source' ) {
var str=ev.editor.getData();
str=str.replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, "\"");
ev.editor.textarea.setValue(str);
}
});
保存已编辑的文档时:
var html=CKEDITOR.instances.TEXT.getData()
html=html.replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, "\"");
答案 1 :(得分:0)
我要说&amp; quot;我提到太多工作的解决方案只是唯一的答案......只是对此进行了一些封闭。或者,如果我能找到办法,我会撤回这个问题。感谢rqmedes尝试......在我得到您的回复之前,我实际上已经忘记了这个问题
:)