我正在尝试使用以下命令将文本插入CKEditor:
CKEDITOR.instances.Body.insertText('$${FIRSTNAME}');
当光标处于纯文本时,上面的命令工作正常。当我尝试在具有属性的文本之间插入文本时,它会插入单个$而不是$$的$$ {FIRSTNAME}。我已将样本上传到jsbin以重现问题
请提供其他方法来解决此问题。
答案 0 :(得分:2)
这是一个丑陋的错误:D我调试了代码并找到原因:
https://github.com/ckeditor/ckeditor-dev/blob/master/core/editable.js#L1616
String#replace
方法将$$
视为一个$
(https://developer.mozilla.org/en/docs/JavaScript/Reference/Global_Objects/String/replace),因此数据应该受到保护。
我担心现在没有简单的解决方法,因为你事先无法逃避数据。根据具体情况,将使用或不使用replace
方法。
所以最好的选择是使用其他模板模式 - 例如%%{foo}
- 它会正常工作。从编辑器获取数据时,您可以将%%
替换为$$
。
答案 1 :(得分:1)