首页指南Framer 装评论只要两个面板,可编辑器里一眼都看不到

Framer 装评论只要两个面板,可编辑器里一眼都看不到

脚本有它的面板。评论区有它的组件。两个都要等到发布之后才活过来。

更新

在 Framer 里要用到两个面板,大约五分钟。加载器脚本进 Project Settings > Custom Code,评论区本身进一个你从组件里拖到画布上的 Embed,两个都是 Framer 写在文档里的功能,不是绕路。要留神的是:通过 Settings 加进去的代码在画布上和预览里都不跑,所以在你发布并打开线上站点之前,什么都不会出现。

Framer 给两半都留了正经位置

托管评论小部件永远是两段标记:一个脚本标记,为整个站点把小部件代码加载一次;一个空元素,标出评论区要画在哪儿。在不少建站工具上,这两样里总有一样找不到像样的落脚点,你一个下午就耗在跟工具较劲上。

Framer 不属于那一类。脚本标记的位置是 Project Settings > Custom Code,放进去就会注入到每个已发布的页面,或者只注入你挑的那几页。空元素的位置是 Embed 组件:在 Insert 菜单里搜 Embed,拖到画布上,把 HTML 粘进去。Framer 在自己的 Trustpilot 教程里把这一对写得清清楚楚,厂商加载器进 Custom Code,挂载标记进 Embed。

Framer 收费收在哪里,价目页上又没写什么

2026-08-25 查过的 Framer 页面上,没有一处提到自定义代码有方案要求。价目页的对比表里根本没有自定义代码这一行,讲怎么加自定义代码的帮助文章没点名任何方案,讲站点方案的那一篇也从没把自定义代码拿出来说。文档里没写的限制,和文档写明没有限制,不是一回事,所以把它读作未确认,而不是对你账号的承诺。要拿它当计划的前提,先打开你自己 Project Settings 里的 Custom Code 标签看一眼。

Framer 白纸黑字写下来的限制是另一批,而且离这件事够近。免费站点发布在 Framer 替它生成的子域名上,带一条 Made in Framer 横幅,接自定义域名要付费方案。Staging 是 Pro 及以上,这一行决定的比看上去多:在 Free 或 Basic 上,已发布的站点是你的脚本唯一跑得起来的地方。

Embed 最后画出来的东西

预览

2 条评论

添加评论…
以 Alex 身份评论发布
  • M
    Maya2 小时前

    真的一行就搞定了,没想到安装这么简单!

  • J
    Jordan昨天

    连登录都是共享的,不用再额外接入。👍

评论小部件自己画出来的样子,连同一段样例对话。Framer Embed 里的一个 div,在你页面上产出的是同一件东西。

前一半:Project Settings 里的加载器

  1. 从 Framer 发布到的那个地址起步

    第一个地址是 Framer 替你选的,不是你选的。发布会生成一个免费子域名并把站点放上去,自定义域名要之后在付费方案里接。后缀别从别人的教程里抄,从地址栏里读:站点会出现在 framer.website 这样的地址上,而 Framer 自己的发布帮助到现在还管它叫 framer.app 域名。此刻摆在你眼前的那串字符,才是要填进 BootSignal 控制台的主机名,浏览器怎么写你就怎么写。存下这条记录,控制台上就多了一个 site id,下面两段代码里只属于你站点的,就是这一个值。

  2. 打开 Project Settings > Custom Code

    在 Framer 编辑器里打开 Project Settings,在左侧栏选 Custom Code 标签。还没加过代码就点 Add Script,已经有片段了就点 + 图标。名字起得让人认得出来一点,比如 BootSignal loader,因为这个面板给你看的只有一列名字,别的什么都没有。

  3. 粘上加载器,选它落在哪里

    Framer 会问这段代码要放在站点的什么位置。它自己那份厂商教程把加载器脚本放在 Custom Code 的 <head> 标记开头,这里照抄那个位置就行。标记上带着 defer,浏览器会早早把文件取回来,等 HTML 解析完再执行,免得评论区拖慢读者正在等的东西。

    代码
    <script src="https://bootsignal.com/bootsignal.js"
            data-site-id="YOUR_SITE_ID" data-lang="zh-cn" defer></script>
  4. 缩小范围,或者就让它全站生效

    同一个面板可以把某个片段限制在指定页面上。要是评论只出现在你的博客模板里,把那几页选上,加载器就不会跑到营销页面上去。还打算加别的 BootSignal 小部件?那就让它全站生效,一个加载器带得动全部。

Once,还是 Run on every page visit

接着 Framer 会问这段代码多久执行一次,这个选择值得放慢一拍。帮助文章把两个选项原样写着:Once 只把代码添加并执行一次,比如绑事件监听器的场合;Run on every page visit 则在每次有人访问页面时都执行一遍。新建的片段从 Once 开始,而介绍这个面板的 2025 年 12 月更新记录说,这跟以前代码的运行方式相近,可以用来放第三方脚本。

那句话是照着分析脚本写的:每次访问只触发一次,在那种场合正是对的。评论区属于另一种。已发布的 Framer 站点在页面之间移动时不会整个重新加载浏览器,所以设成 Once 的片段只在一次访问开始时加载,读者点着导航往下走的时候它再也不会执行,而一个在客户端跑的小部件,必须在此刻屏幕上的那个页面里找到自己的挂载点。

评论只在一个页面上,Once 就行。评论铺在博客模板或者好几个页面上,选 Run on every page visit。症状现在就记下来:直接打开文章 URL 时评论区在,从站内点链接走到同一篇时它没了,这不是安装坏了,是执行频率选错了。

后一半:Embed 组件里的挂载元素

回到画布上,打开 Insert 菜单,搜 Embed,把组件拖到评论区该在的位置,通常是正文下面、页脚上面。Embed 既收 URL 也收原始 HTML,你要的是 HTML 那一栏。

粘进 Embed 组件的 HTML 栏
<div data-bootsignal="comments" data-thread-id="page-key"></div>

挂载就是那一个 div。给 Embed 一个合适的宽度,高度让它自己长,因为人一多,评论区就会变高。Framer 提醒说有些集成需要在 Embed 里再包一层代码,这个不用,活都由 Custom Code 里的加载器干了。

挑一个 thread id

data-thread-id 把这一页的评论和那一页的分开。两个页面共用一个值就共用一段对话,偶尔你要的正是这样,多数时候不是。一次性的页面就把它写死,data-thread-id="pricing" 这样。坑在 CMS 集合模板上,因为一个 Embed 要服务所有文章,在那里写死一个字面值,整个集合就并成了一段对话。照着模板往下搭之前,先确认你的 Embed 收不收 CMS 字段当属性值。

发布,然后去看真正的站点

Framer 写明通过 Settings 加进去的自定义代码不会出现在预览里,它的 Trustpilot 教程给了原因:head 和 body 里的脚本在浏览器里执行,不在编辑器里。点右上角的 Publish,打开线上 URL。

到那儿要看两件事。评论区连同登录提示一起画出来了;用 Google 登录之后,你确实能发出一条。要是画出来了却不肯收你的评论,把地址栏和控制台里的域名一个字符一个字符对一遍,Framer 子域名也算进去。多半是一个没人登记过的主机名。

整个安装一眼看完

你要粘的东西在 Framer 里的位置要紧的设置发布前看得见吗
加载器脚本标记Project Settings > Custom Code > Add Script位置是 <head> 开头。频率上,多页面就选 Run on every page visit看不见
评论挂载 divEmbed 组件的 HTML 栏没有,就是一段静态标记看不见
data-site-id加载器标记上的属性一个站点一个,从 BootSignal 控制台拿不适用
data-thread-id挂载 div 上的属性一段对话一个值,不是一个站点一个不适用
一个站点一段代码,每个需要评论区的页面一个 div。

最后是谁在替你保管评论

Framer 站点有三条诚实的路。自己做,意味着在有人打出第一个字之前,你得先有登录、数据库、API 和一个管理界面,而 Framer 不跑服务器代码,那套东西只能住在别处。用靠广告养活的托管评论区,读者拿注意力替你付账。或者为一个托管小部件付钱。对比专区把托管方案连同它们当下的价钱并排放着,数字该待的地方就是那儿。

在 Framer 站点上这要花多少

你 Custom Code 片段里那个 site id 背后是一份订阅:按登记域名 每月 $20 或每年 $200,全部小部件包含,眼下是 38 个付费小部件和 33 个免费的浏览器工具,往后发布的也一起算。没有一项按流量计量,这条线值得拿去衡量你的候选名单,因为按流量计价的评论工具,偏偏在某篇文章终于跑起来的那个月寄出最大的账单。多余的域名另外买。

  • 回复是分层的,一段对话不会塌成一堆互不相干的便条。
  • Google 登录,由所有 BootSignal 小部件共用。
  • 控制台里有管理界面:删掉某一条评论,或者封掉写它的人。
  • 按域名的白名单,你的 site id 只在你登记过的主机名上应答。
  • 小部件界面文字有韩文、英文和日文,在加载器的 data-lang 上选。
在 Framer 页面上放一段评论区

Custom Code 里一段代码,Embed 里一个 div,然后 Publish。

第二个小部件就多一个 div

加载器不是评论专用的。站点上每一个 BootSignal 小部件都由它带动,所以下一个只要一个 Embed 加一个 div,不用第二个脚本标记,账单也不变。跟评论搭得好的是表情:多数读者永远不会写一整段,可其中不少人会点一下表情。

预览
👍 42❤️ 18🎉 7😮 3

表情,给那些不会写评论的读者。加载器照旧,只多一个 div。

有四件事第一天做很容易,到第三个月就难了。把你发布用的主机名一字不差地登记上。给 Custom Code 片段起一个陌生人也认得出来的名字。执行频率就在那个给你选项的面板里定下来。还有,在有评论可丢之前先把 thread id 的规矩定好,因为对话是拴在那串字符上的:以后一改,你拿到的是一个空评论区,旧评论留在旧 id 下面。

常见问题

直接打开文章 URL 时评论区在,从站内点链接过去就没了,是哪里坏了?
没有哪里坏。是片段的执行频率不对。已发布的 Framer 站点在页面之间移动时不会整个重新加载浏览器,所以停在 Once 的 Custom Code 片段只在访问开始时执行一次,读者点来点去的过程中不再执行,于是第二个页面上的挂载 div 就没人来填了。打开 Project Settings > Custom Code,选中那个片段,切到 Run on every page visit。只有当评论区待在一个读者靠打开 URL 才到达的单页上时,Once 才是对的答案。
设成 Run on every page visit,小部件会不会每页都重新下载一次?
不会,也不会把两个评论区摞在一起。加载器标记带着 defer,第一个页面付一次既不挡解析也不挡渲染的请求,之后浏览器从缓存里取。加载器再跑的时候,它找的是还没被画过的挂载点,挂上一个就在那一刻做个记号,已经有记号的一概跳过,所以在一个评论区已经显示着的页面上再跑一遍,等于什么都没做。看得见的代价在两种设置下一样:它要单独去取自己的评论,所以会比周围的页面晚一拍才填上。
画布和预览里都没有东西,是我粘错地方了吗?
多半不是。Framer 写明通过 Settings 加进去的自定义代码不会出现在预览里,因为那些脚本是在已发布站点的浏览器里跑,不在编辑器里。发布,打开线上 URL。Staging 从 Pro 起,所以在 Free 或 Basic 上,第一次看就发生在生产站点上:把 Embed 放在一个还没有链接指过去的页面上,在那里看评论区,宽度和间距都对了再挪。
Free 方案上能做这件事吗?
2026-08-25 查过的 Framer 页面里,没有一处写着自定义代码有方案要求:方案对比表没有自定义代码这一行,讲怎么加自定义代码的帮助文章没点名任何方案,站点方案那一篇也完全没提自定义代码。把这当成未确认,不是许可。Framer 确实锁住的东西就在旁边:接自定义域名要付费方案,免费站点发布在 Framer 子域名上并带 Made in Framer 横幅,staging 从 Pro 开始。打开你自己的 Custom Code 标签,十秒钟就有答案。
CMS 集合里每篇文章显示的都是同一段对话,要改什么?
集合模板上的一个 Embed 带着一个写死的 data-thread-id,经这个模板画出来的每篇文章都继承它,于是整个集合读写同一段对话。写死的值在 data-thread-id="pricing" 那种一次性页面上是对的答案,在这里是错的:集合模板上这串字符必须逐篇不同,所以照着模板往下搭之前,先确认你的 Embed 收不收 CMS 字段当属性值。趁还没人留言就定下来。对话拴在那串字符上,以后改了,打开的是一个空评论区,现有的评论留在旧 id 下面。
页面重新设计一遍,攒下的评论还在吗?
在。只要 data-thread-id 不变,对话就哪儿也不去。对话认的是那个值,不是版式也不是 URL,所以你可以挪动 Embed、把周围的区块重新配色,或者把页面整个重搭,同一批评论还是会回来。改了这个值,你就是从一个空评论区重新开始。
给 Framer 域名申请 site id

登记你发布用的域名,然后往 Custom Code 里粘一行。

数据来源