笔落写作编辑器开放API
这些API函数允许您在JavaScript脚本中控制文档编辑器的行为。所有函数都是全局可用的,无需导入。
文本操作
deleteText(options)
删除指定范围的文本。
参数:
start(number): 删除开始位置end(number): 删除结束位置
示例:
javascript
// 删除位置10到20之间的文本
deleteText({ start: 10, end: 20 });
// 删除当前选中的文本
const start = getSelectionStart();
const end = getSelectionEnd();
deleteText({ start, end });replace(options)
替换指定范围的文本。
参数:
start(number): 替换开始位置end(number): 替换结束位置text(string): 新文本内容
示例:
javascript
// 将位置0到5的文本替换为"标题"
replace({ start: 0, end: 5, text: "标题" });
// 替换当前选中的文本
const start = getSelectionStart();
const end = getSelectionEnd();
replace({ start, end, text: "新内容" });选择操作
getSelectionStart()
获取当前选择的开始位置。
返回值:
number: 选择开始位置,如果编辑器不可用则返回-1
示例:
javascript
const startPos = getSelectionStart();
console.log(`选择开始于位置: ${startPos}`);getSelectionEnd()
获取当前选择的结束位置。
返回值:
number: 选择结束位置,如果编辑器不可用则返回-1
示例:
javascript
const endPos = getSelectionEnd();
console.log(`选择结束于位置: ${endPos}`);
// 获取选中文本的长度
const selectionLength = getSelectionEnd() - getSelectionStart();文本获取
getText()
获取编辑器中的所有纯文本内容。
返回值:
string: 编辑器的纯文本内容,如果编辑器不可用则返回空字符串
示例:
javascript
const content = getText();
console.log(`文档内容: ${content}`);
// 统计字符数
const charCount = getText().length;
console.log(`字符数: ${charCount}`);段落操作
getParagraphAttributes()
获取当前段落的属性。
返回值:
object: 段落属性对象,如果编辑器不可用则返回空对象
示例:
javascript
const attrs = getParagraphAttributes();
console.log('当前段落属性:', attrs);
// 检查是否为标题
if (attrs.heading) {
console.log(`这是${attrs.heading}级标题`);
}setParagraphAttributes(options)
设置当前段落的属性。
参数:
attributes(object): 要设置的段落属性
示例:
javascript
// 设置为一级标题
setParagraphAttributes({
attributes: { heading: 1 }
});
// 设置为引用块
setParagraphAttributes({
attributes: { blockquote: true }
});
// 设置文本对齐方式
setParagraphAttributes({
attributes: { textAlign: 'center' }
});位置检测
isAtParagraphStart()
检查光标是否位于段落开始处。
返回值:
boolean: 如果在段落开始处返回true,否则返回false
示例:
javascript
if (isAtParagraphStart()) {
console.log('光标在段落开头');
// 可以插入段落级别的格式
setParagraphAttributes({ attributes: { heading: 1 } });
}isAtParagraphEnd()
检查光标是否位于段落结束处。
返回值:
boolean: 如果在段落结束处返回true,否则返回false
示例:
javascript
if (isAtParagraphEnd()) {
console.log('光标在段落末尾');
// 可以添加新段落
insertText({ offset: getSelectionEnd() });
}