2018-12-03

// 文档结构如下:
//

this is a p tag


//

这是一段带加粗标记的文字


//

我有两个秘密


//

    //
  • 其一:我个子特别高

  • //
  • 其二:我体重特别沉

  • //

var model = editor.model;
var schema = editor.model.schema;
var root = editor.model.document.getRoot();

在首段落增加"①②"两个字符

// end:段落内末尾
// 0:段落内开头第0个位置
// before:段落前
// after:段落后

var txt = '①②';
var paragraph = editor.model.document.getRoot().getChild(0);
editor.model.change( writer => {
    writer.insertText(txt, {}, paragraph, 'end');
});
editor.model.change( writer => {
    writer.insertText(txt, {}, paragraph, 0);
});
editor.model.change( writer => {
    writer.insertText(txt, {}, paragraph, 'before');
});
editor.model.change( writer => {
    writer.insertText(txt, {}, paragraph, 'after');
});

// 在第二个段落上,因为有strong标记的存在,所以如果想在加粗的部分增加文字,则需要如下代码
var txt = '③④';
var paragraph = editor.model.document.getRoot().getChild(1);
editor.model.change( writer => {
writer.insertText(txt, {bold:true}, paragraph, 6);
});
// 如果你事先不知道光标处有什么属性怎么办呢?
// 可以通过editor.model.document.selection.getAttributes()拿到光标处的属性
// 然后修改上面的代码如下即可:
editor.model.change( writer => {
writer.insertText(txt, editor.model.document.selection.getAttributes(), paragraph, 6);
});

// 插入一段html片段
var htmlDP = editor.data.processor;
var viewFragment = htmlDP.toView('

这是一个‘P’标记,右边这个部分会被加粗 →→ 我是加粗的。');
var modelFragment = editor.data.toModel( viewFragment );
editor.model.insertContent( modelFragment );

// 获取选中部分的模型(CKEditor5的模型)
var documentFragment = editor.model.getSelectedContent(editor.model.document.selection);

你可能感兴趣的:(2018-12-03)