我的内容在占位符中引用了ID(例如“$ m(12345)”)。我有一个REST调用,它将为占位符返回一个img-tag。
我希望CKEditor在编辑器中打开内容或插入占位符时显示图像。但我希望占位符保留在内容中(包括切换到源视图时)
我尝试通过向dataFilter添加规则来实现此目的:
CKEDITOR.on('instanceLoaded', function(ckeditor){
var mediaPlaceholderRegex = /\$m\(.*\)/;
ckeditor.editor.dataProcessor.dataFilter.addRules({
text: function( text, node ) {
return text.replace( mediaPlaceholderRegex, function( match ) {
var params = "placeholder="+match;
var xhttp = new XMLHttpRequest();
xhttp.open("POST", url, false);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(params);
return xhttp.responseText;
} );
}
});
});
它使用image标签替换占位符,但切换到源视图时img-tag也在那里。
是否有一种简单的方法可以仅对wysiwyg视图应用过滤器。 我看到的唯一方法是添加一个htmlFilter,它将img-tag还原为占位符。
答案 0 :(得分:0)
是否有一种简单的方法可以仅对wysiwyg视图应用过滤器。我看到的唯一方法是添加一个htmlFilter,它将img-tag还原为占位符。
善于思考。如果您不希望在每次模式更改时从服务器删除/提取图像,则可以将占位符放入图像标记的data-
属性中。这完全取决于您的使用案例,但最重要的是当您从编辑器加载数据时使用dataFilter
和从编辑器获取数据时使用htmlFilter
(获取数据和切换时使用相同的方法)到源模式,因此htmlFilter
适用于此处。)