1

我试图弄清楚如何让 CKEditor 获取我想要提供的 HTML。我想做的是准备好这个表的模板,然后只需单击一个按钮,它就会被插入到 CKEditor 中。我不能用源代码编辑器来做到这一点——使用它的人将无法访问它,而且可能无论如何也不知道如何去做。但即便如此,手头仍有其他问题。

我已经尝试过getData实例setData,但是当我这样做时,setData它最终保存了没有任何表格标签的表格。

这就是我为此所做的:

function PasteToFaxEnd() {
    var faxText = CKEDITOR.instances.faxMessageBodyText.getData();

    faxText += '<table style="width:600px;border:1px solid black;"><tr><td rowspan="4" style="width:50%;">Instructions</td><td>&nbsp;</td></tr><tr><td>Contact</td></tr><tr><td>Title</td></tr><tr><td>Email Address</td></tr></table>';

    CKEDITOR.instances.faxMessageBodyText.setData(faxText);
}

结果只是文本,没有标签。

这工作得稍微好一点,但它剥夺了我的代码非常重要的边框样式。

function PasteToFaxEnd() {
    CKEDITOR.instances.faxMessageBodyText.insertHtml('<table style="width:600px;border:1px solid black;"><tr><td rowspan="4" style="width:50%;">Instructions</td><td>&nbsp;</td></tr><tr><td>Contact</td></tr><tr><td>Title</td></tr><tr><td>Email Address</td></tr></table>');
}

我使用的最后一件事是,我没有在表格上设置“样式”,而是设置了一个类,但我不确定我可以在哪里放置一个编辑器内的文本会读取的类 - 它不是从编辑器所在的页面。话虽如此,这个答案并不可取:我需要将此文本发送到 PDF 生成器,我宁愿在代码上设置样式,这样当我到达 PDF 生成器时就不必处理它. 如果我看到这样的事情,我会很感激,至少拥有这些知识可能是有用的。

也许答案在于insertHtml,但我需要以某种方式保持边界。任何保持该样式的答案将不胜感激!

谢谢!

4

0 回答 0