我正在试图找出如何让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> </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> </td></tr><tr><td>Contact</td></tr><tr><td>Title</td></tr><tr><td>Email Address</td></tr></table>');
}
我使用的最后一件事是,而不是在桌子上设置“样式”,我设置了一个类,但我不确定在哪里可以放一个编辑器中的文本会读取的类 - 它不是从编辑所在的页面阅读它。话虽如此,这个答案并不可取:我需要将这个文本发送到PDF生成器,我宁愿在代码上设置样式,以便在进入PDF生成器时不需要处理。如果我看到这样的东西,我至少会感激,至少知道这些知识是有用的。
也许答案在于insertHtml
,但我需要以某种方式保持这种边界。保持这种造型的任何答案都将非常感激!
谢谢!