返回文章列表

Flomo Extension 如何保存到 flomo:真实流程与故障排查

作者:Flomo Extension · 发布于 · 更新于

Flomo Extension 的保存方式与“输入 API 地址后直接提交”不同。当前版本依赖一个已经打开并登录的 flomo 网页标签:扩展把草稿交给该页面中的内容脚本,再由内容脚本操作 flomo 网页编辑器。

理解这条链路后,“为什么按钮是灰色”“已经打开 flomo 仍然提示失败”“看到成功动画但暂时找不到笔记”等问题会更容易定位。

本文核对的是 Flomo Extension 1.20.0 源码,时间为 2026 年 8 月 1 日。flomo 网页结构变化可能影响后续版本;本文不是 flomo 官方故障说明。

保存前需要满足的三个条件

1. 当前窗口中打开了 v.flomoapp.com

扩展弹窗打开时,会在当前浏览器窗口查询 *://v.flomoapp.com/*。如果没有找到,页面会显示“请先点击底部的【打开 flomo 页面】并完成登录”,保存按钮也会被禁用。

点击底部“打开 flomo 页面”后:

  • 已有匹配标签页时,扩展会尝试切换到它;
  • 没有匹配标签页时,会新开 https://v.flomoapp.com

如果 flomo 打开在另一个浏览器窗口,当前弹窗仍可能判断为未打开。先把 flomo 页面放在准备使用扩展的同一窗口中,是最直接的排查方法。

2. flomo 网页本身已经登录

flomo 页面内容脚本会读取该页面本地存储中的 me 数据,并检查是否存在用户名称。检查失败时,页面会显示“保存笔记失败,请先登录 flomo”。

这里检查的是 flomo 官方网页的登录状态,不是扩展底部显示的 Flomo Extension 账户状态。两个账户分别承担不同职责:

状态 用途
flomo 网页登录 让当前网页有权限保存笔记到用户自己的 flomo 账户
Flomo Extension 登录 识别扩展套餐和使用次数

只登录其中一个,不能替代另一个。

3. flomo 页面处于能找到编辑器的界面

内容脚本会查找 #fl_editor,再在其中查找 .tiptap.ProseMirror 编辑区域。找不到时,当前版本会提示用户在 flomo 首页点击“全部笔记”;确认提示后,页面会跳转到 https://v.flomoapp.com/mine

因此,登录后停留在某些没有主编辑器的页面,也可能无法保存。先进入“全部笔记”并等待编辑器完整加载,再重新打开扩展。

点击“保存 flomo 笔记”后发生什么

当前源码的完整顺序如下:

  1. 扩展检查编辑器内容不为空;
  2. 检查与 flomo 标签页的通信端口是否存在;
  3. 根据扩展账户套餐和本地当日计数判断能否继续;
  4. 把黄色背景标记从编辑器样式转换为 <mark>
  5. 将 HTML 草稿发送给 flomo 页面内容脚本;
  6. 内容脚本检查 flomo 页面登录状态;
  7. 查找 flomo 编辑器并聚焦;
  8. 构造 text/html 粘贴事件,把草稿放入网页编辑器;
  9. 查找 flomo 网页中的保存按钮并触发点击;
  10. 页面脚本向扩展弹窗返回结果。

当弹窗收到正向结果时,会清空本地草稿、增加当日使用计数,并显示庆祝动画。

一个重要边界:正向结果不等于已验证服务端写入

当前页面脚本在找到保存按钮并触发点击后,就返回 true。它没有继续等待 flomo 的网络请求完成,也没有查询笔记列表确认新笔记已经出现。

因此,扩展中的“成功”更准确地表示:

草稿已经写入 flomo 网页编辑器,并且保存按钮的点击事件已经触发。

它不等同于对 flomo 服务端最终保存结果的独立确认。网络中断、flomo 页面自身报错或网页结构变化,仍可能发生在点击之后。对于重要笔记,尤其是首次使用或网络不稳定时,应回到 flomo 页面确认笔记已经出现。

由于弹窗收到 true 后会清空本地草稿,重要内容在点击保存前最好先复制一份。这个限制不是用户操作错误,而是当前确认机制的能力边界。

按提示文字排查问题

看到的现象或提示 源码对应的判断 建议操作
保存按钮为灰色 当前窗口没有查到 v.flomoapp.com 点击“打开 flomo 页面”,完成登录后重新打开扩展
“请先打开 flomo 页面……” 弹窗与页面的通信端口没有建立 确认在同一窗口,刷新 flomo 页面,再关闭并重新打开扩展弹窗
“保存笔记失败,请先登录 flomo” flomo 页面本地登录信息中没有用户名称 在 flomo 网页完成登录,不是只登录扩展账户
“找不到 flomo 编辑框” 没找到 #fl_editor 或内部编辑区 进入“全部笔记”,等待页面加载完毕后重试
“找不到 flomo 保存按钮” 没找到当前代码依赖的保存按钮选择器 刷新 flomo 页面后重试;仍失败时记录页面与时间并反馈
“笔记保存失败,请打开 flomo 页面查看原因” 页面脚本返回了 false 切换到 flomo 标签页查看登录、编辑器或弹窗提示
标签按钮不可用 没有从 flomo 页面读到置顶或全部标签 确认 flomo 页面已加载标签列表;也可以直接手动输入 #标签
免费次数或套餐过期提示 扩展根据本地日期、计数及账户套餐阻止本次发送 核对的是扩展套餐,不是 flomo 官方会员

推荐的恢复顺序

当保存链路失效时,按下面顺序处理,可以减少反复操作:

  1. 先备份草稿。 在扩展编辑器中全选并复制重要内容;
  2. 确认窗口。v.flomoapp.com 与当前扩展放在同一个浏览器窗口;
  3. 确认 flomo 登录。 在网页中查看自己的笔记列表,而不是只看到登录页;
  4. 进入“全部笔记”。 确保主编辑器可见并完成加载;
  5. 刷新连接。 刷新 flomo 页面,随后关闭并重新打开扩展弹窗;
  6. 用短文本测试。 先保存一条可删除的测试内容;
  7. 在 flomo 中核对。 确认新笔记真实出现后,再保存重要草稿。

不要连续快速点击保存。当前代码没有通过服务端笔记 ID 做幂等校验,重复触发可能形成重复内容;本次核验也没有对快速连续点击做兼容性测试。

为什么刷新页面后要重新打开扩展

扩展弹窗与 flomo 页面之间使用标签页端口通信。刷新 flomo 页面会销毁旧页面中的内容脚本,原有端口也会断开。新页面加载完成后,需要重新打开扩展弹窗,让它使用当前标签页 ID 建立新的连接。

同样地,如果 flomo 标签页被关闭、页面脚本尚未加载完成,或标签页 ID 已经变化,弹窗保存前检查与实际连接状态可能不同。重新打开弹窗不是清除数据,而是重建通信链路;本地草稿通常仍由 storage 保留。

标签读取为什么也依赖 flomo 页面

扩展的标签菜单不是从 Flomo Extension 服务器获取。页面内容脚本会从当前 flomo 页面 DOM 中读取置顶标签和全部标签,去重后发送给弹窗。

这带来两个边界:

  • flomo 页面未打开或尚未加载标签时,扩展拿不到列表;
  • flomo 修改页面结构后,旧版选择器可能暂时失效。

即使标签菜单不可用,编辑器仍可以手动输入 #标签。标签无法加载与笔记正文无法保存并不一定是同一个故障。

什么时候应该反馈问题

完成上述恢复步骤后仍然失败,反馈时请提供:

  • Flomo Extension 版本;
  • 出现问题的日期和大致时间;
  • 浏览器中看到的原始提示文字;
  • flomo 页面当时是否已登录、是否能看到“全部笔记”编辑器;
  • 问题发生在连接、粘贴内容还是点击保存之后;
  • 去除邮箱、笔记正文等敏感信息后的截图。

不要提交 flomo 密码、Google 令牌、邮箱验证码或包含私人笔记的完整截图。

核验范围与版本

本文由 Flomo Extension 项目于 2026 年 8 月 1 日依据版本 1.20.0 源码整理。核验范围包括弹窗编辑器、标签页连接、flomo 页面登录检查、DOM 编辑器定位、HTML 粘贴、保存按钮点击和本地草稿清理。未进行 flomo 服务端日志核对,也没有把页面按钮触发等同于服务端成功。

需要了解权限与账户数据边界,可继续阅读《Flomo Extension 权限与数据流》;首次安装流程见使用指南