文档

一行代码,把反馈社区嵌入你的网站

最近更新:2026 年 8 月 7 日

Widget 是什么

Widget 是一个可嵌入任意网站的反馈浮层。访客点击右下角的按钮, 即可在不离开你网站的情况下提交建议、为已有想法投票、发表评论。

  • 无需注册:访客提交反馈不需要任何账号。
  • 零跳转:弹窗在站内完成,不打断浏览体验。
  • 自动同步:提交的内容实时进入你的面板,与公开页 /b/你的slug 完全一致。
  • 状态追踪:你回复或更新状态后,提交过邮箱的访客会收到邮件通知。

快速集成

在你的网站 HTML 中添加一行 <script> 标签:

<script src="https://sonoard.top/widget.min.js" data-board="你的面板slug"></script>

替换 data-board 为你在 Sonoard 创建的面板 URL 标识。 也可以从 Dashboard → 面板 → Widget 页复制现成的嵌入代码,直接粘贴即可。

支持放在 <head><body> 末尾, 也支持 async / defer 加载, 不影响页面渲染速度。

就这样,已完成

保存后刷新页面,右下角就会出现反馈按钮。访问者无需登录即可提交建议、投票和评论。

配置参数

嵌入脚本支持以下可选属性:

属性说明默认值
data-board面板标识(必填)。即公开页 /b/ 后面的那串字符。
data-baseAPI 地址。默认取当前域名,一般不需要改。仅当你的面板和网站不在同一域名下时才可能需要。当前域名

更精细的样式(按钮颜色、布局、主题、文字)不需要改代码, 直接在 Dashboard → 面板 → Widget 页配置,保存后自动生效。

用户看到的体验

点击反馈按钮后,弹窗包含:

  • 已有反馈列表:按投票数排序,用户可以直接投票支持已有建议, 避免重复提交。
  • 提交新反馈:填写标题、详情和选填邮箱。 填了邮箱的用户,在状态变更时会收到邮件通知。
  • 评论讨论:每条反馈下可以展开评论,深入讨论需求细节。
  • 状态徽章:待审核 / 已计划 / 开发中 / 已上线 / 暂不采纳, 用户随时能看到你的进度。
  • 我的反馈:访客的浏览器会记住自己提交过的内容, 状态有变化时高亮提示。

自定义样式

在 Dashboard → 面板 → Widget 页,你可以配置:

布局(6 种)

Dialog 中央弹窗、Drawer 侧边抽屉、Inline 按钮上方展开、 Banner 顶部横条、Bottom Bar 底部横条、Bubble 可拖动圆球。 Dialog 免费,其余为 Pro 功能。

主题(3 种)

深色(默认)、玻璃拟态、浅色。玻璃与浅色为 Pro 功能。

按钮与弹窗

按钮颜色、形状(胶囊/方形/圆形)、尺寸、圆角、阴影、悬停动效; 弹窗宽度、圆角、透明度、打开动画。Pro 功能。

品牌

Pro 可去除"Powered by Sonoard"标识、自定义 Logo 和主题色。

常见环境配置

绝大多数网站直接可用。以下场景需要你按对应方式配置:

  • 网站启用了 CSP(内容安全策略)

    在 CSP 中添加 script-src https://sonoard.top(如同时用 API,再加 connect-src https://sonoard.top

  • 用 iframe 嵌入公开面板页

    sandbox 需包含 allow-scripts allow-same-origin allow-forms allow-popups

  • 与网站其他悬浮组件重叠

    反馈按钮使用较高的层级(z-index 999999)。若被其他悬浮组件遮挡,调低对方的层级即可

  • 网站开启了严格隐私模式 / iframe sandbox

    Widget 已做降级处理:localStorage 不可用时自动改用内存存储, 功能不受影响,仅刷新后"我的反馈"记录会重置。

安全与防滥用

  • 匿名提交:访客无需登录即可提交,提交内容经过 HTML 转义, 不会在页面执行脚本。
  • 防刷票:同一浏览器只能给每条反馈投一次票; 后端按 IP 限流,异常流量会被自动限制。
  • 内容审核:所有新反馈默认进入"待审核"状态, 你可以决定是否公开展示、调整状态或删除。
  • 数据隔离:每个面板的数据互相隔离, 只有面板所有者能在 Dashboard 管理。

免费版限制

项目免费版Pro 版
反馈面板数量1 个无限
累计收集反馈100 条(账号累计,删除面板不清零)无限
Widget 布局/主题/样式Dialog 布局 + 深色主题全部 6 布局 + 3 主题 + 深度定制
品牌标识显示 "Powered by Sonoard"可去除
数据导出 (CSV)支持

常见问题

不需要。任何访客都可以直接提交建议、投票和评论,无需任何账号。
几乎不影响。脚本约 35KB,支持 async/defer 加载,不阻塞页面渲染;按钮在页面加载后异步出现。
所有数据存储在你的 Sonoard 面板中,与公开页 /b/你的slug 完全同步。删除面板会连带删除全部反馈。
状态通知通过邮件发送,只有填写了邮箱的提交者会收到。另外同一面板 5 分钟内的通知会合并发送,避免邮件轰炸。
可以。每个 script 标签带一个 data-board,网站可以同时嵌入多个面板,分别对应不同产品线。
可以在 Widget 配置页调整按钮位置(右下/左下/右上/左上,Pro 支持自由拖拽),或更换为 Bubble 等占用更小的布局。