思源笔记获取文档 DOM,并用修改过的 DOM 进行更新

获取文档内容

/api/filetree/getDoc

let doc_id ="20241128164914-6zd0fu1";
let doc_info = (await fetchSyncPost("/api/filetree/getDoc", {
            id: doc_id
            // 默认最大加载块数 102400 
        })).data;

console.log(doc_info.content)

修改文档内容

// 创建DOM解析器
let  parser = new DOMParser();

const dom = parser.parseFromString(doc_info.content, 'text/html');

// 找到所有block-ref元素并修改
const blockRefs = dom.querySelectorAll('[data-type="block-ref"]');
blockRefs.forEach((ref, index) => {
    ref.textContent = (index + 1).toString();
});

// 如果需要获取修改后的字符串
const modifiedString = dom.body.innerHTML;

更新文档内容

/api/block/updateBlock

let formatData = {
  "dataType": "dom",
  "data": modifiedString,
  "id": doc_id
}
await fetchSyncPost("/api/block/updateBlock",formatData);
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22480 引用 • 90065 回帖 • 1 关注
1 操作
Achuan-2 在 2024-11-28 17:32:01 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
Achuan-2
给时间以生命而不是给生命以时间,如果你喜欢我的分享,欢迎给我买杯咖啡 https://www.yuque.com/achuan-2 上海