Framer 的留言區為什麼要等到發佈才看得見?
指令碼有它的面板,討論串有它的元件。在你按下 Publish 之前,兩個都不會動。
Framer 這邊要開兩個面板,花你大約五分鐘。載入器放進 Project Settings > Custom Code,討論串本身放進你從畫布上拉出來的 Embed 元件,兩個都是 Framer 寫在文件裡的功能,不是繞路。要注意的一點是:從 Settings 加進去的程式碼不會在畫布或 preview 裡跑,所以在你發佈並打開線上網址之前,什麼都不會出現。
Framer 給了這兩半各自像樣的位置
代管的評論小工具永遠是兩塊標記:一個 script 標記,替整個網站載入一次小工具的程式碼;一個空元素,標出討論串要畫在哪裡。在不少網站建置工具上,這兩塊總有一塊沒有合理的落腳處,於是你一個下午都在跟工具角力。
Framer 不屬於那一類。script 標記歸 Project Settings > Custom Code,它會把標記注入每一個發佈出去的頁面,或只注入你挑的那幾頁。空元素歸 Embed 元件:在 Insert 選單裡搜尋 Embed,拉到畫布上,把 HTML 貼進去。Framer 自己的 Trustpilot 教學示範的正是這個配對,廠商的載入器放 Custom Code,掛載用的標記放 Embed。
Framer 收錢的項目,和它價格頁沒寫的那一項
2026-08-25 查過的 Framer 頁面上,沒有任何一處把自訂程式碼綁在方案上。價格頁的對照表根本沒有 custom code 這一列,講怎麼加自訂程式碼的說明文章沒有點名任何方案,講網站方案的那篇也從頭到尾沒提自訂程式碼。沒寫出來的限制不等於明文寫著沒有限制,所以請把這件事當成未確認,而不是對你帳號的承諾,動手規劃之前先在自己的 Project Settings 裡打開 Custom Code 分頁看一眼。
Framer 有明文寫出來的是另一組限制,而且近得會影響你。免費網站發佈在 Framer 替它產生的子網域上,並帶著 Made in Framer 的標示,要接自訂網域則需要付費方案。Staging 從 Pro 以上才有,這件事決定的比看起來多:在 Free 或 Basic 上,發佈出去的網站是你的指令碼唯一跑得到的地方。
Embed 最後畫出來的東西
2 則評論
- M
真的一行就搞定,沒想到安裝這麼簡單!
- J
連登入都是共用的,不用再額外接入。👍
評論小工具正在自己畫出來,裡面附了一串示範討論。Framer 的 Embed 裡放一個 div,你的頁面上長出來的就是這個。
前半:Project Settings 裡的載入器
從 Framer 發佈到的那個位址開始
你的第一個位址是 Framer 挑的,不是你挑的。一按發佈,它就產生一個免費子網域並把網站放上去,自訂網域要後來才接得上,而且要付費方案。網址列上的字尾請自己讀,不要從別人的教學裡抄:現在的網站會落在
framer.website這類位址上,而 Framer 自己的發佈說明還在寫 framer.app 網域。眼前實際出現的那一串,才是你要照瀏覽器的寫法打進 BootSignal 控制台 的主機名稱。存好之後控制台會給你一組網站 ID,那也是下面兩段程式碼裡唯一專屬於你網站的東西。打開 Project Settings > Custom Code
在 Framer 編輯器裡打開 Project Settings,從左側欄選 Custom Code 分頁。還沒加過任何程式碼就按 Add Script,已經有片段了就按 + 圖示。名字取得像樣一點,例如 BootSignal loader,因為這個面板給你看的就只有一串名字。
貼上載入器,並決定它放在哪裡
Framer 會問你這段程式碼要放在網站的什麼位置。它自己的廠商教學把載入器放進 Custom Code 的
<head>標記開頭處,這裡照抄那個位置就好。標記帶著defer,瀏覽器會早早去抓,等 HTML 解析完才執行,這樣一串留言就不會拖住讀者正在等的東西。<script src="https://bootsignal.com/bootsignal.js" data-site-id="YOUR_SITE_ID" data-lang="zh-tw" defer></script>要限定頁面,或者放著全站跑
同一個面板可以把一段程式碼限定在特定頁面。如果留言只出現在你的部落格範本上,挑那幾頁就能讓載入器不去打擾行銷頁。之後還打算加別的 BootSignal 小工具嗎?那就讓它全站跑,因為一段載入器就能帶動全部。
Once,還是 run on every page visit
接著 Framer 會問這段程式碼多久跑一次,這一題值得你慢下來。說明文章把兩個選項寫得很清楚:Once 只把程式碼加進去並執行一次,例如用來註冊事件監聽器;Run on every page visit 則是每次有人造訪這個頁面就執行一次。新的片段預設落在 Once 上,而這個面板 2025 年 12 月的更新公告把 Once 描述成跟以前程式碼的跑法相近、可以用在第三方指令碼上。
公告那句話是替分析工具寫的,那種情境下每次造訪只觸發一次剛剛好。留言討論串屬於另一種情境。發佈出去的 Framer 網站在頁面之間移動時不會整頁重新載入,所以設成 Once 的片段在造訪開始時載入一次,接下來訪客怎麼點導覽列它都不會再跑,而客戶端的小工具得在當下畫面上的那一頁找到它的掛載點。
只有一頁要留言,Once 沒問題。留言要跨部落格範本或好幾頁,就選 Run on every page visit。順便把症狀記起來:直接輸入文章網址時討論串在,從站內點連結走到同一篇卻不見了,那不是裝壞了,是頻率選錯了。
後半:Embed 元件裡的掛載點
回到畫布,打開 Insert 選單,搜尋 Embed,把元件拖到討論串該待的地方,通常是文章內文下面、頁尾上面。Embed 吃網址,也吃原始 HTML。你要的是 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 collection 範本,因為一個 Embed 服務所有文章,寫死的值會把整個 collection 併成同一串留言。用範本蓋東西之前,先確認你的 Embed 能不能在屬性值裡吃 CMS 欄位。
先發佈,再看真正的網站
Framer 明講從 Settings 加進去的自訂程式碼不會出現在 preview 裡,它的 Trustpilot 教學也給了理由:head 和 body 裡的指令碼是在瀏覽器裡執行,不是在編輯器裡。按右上角的 Publish,然後打開線上網址。
到了那裡看兩件事。討論串畫出來並帶著登入提示,以及你用 Google 登入之後真的寫得出留言。如果畫得出來卻不收你的留言,就把網址列和控制台裡的網域一個字一個字比對,Framer 子網域也算在內。多半是某個主機名稱沒人登記。
整個安裝的一覽
| 你貼的東西 | 在 Framer 的哪裡 | 要留意的設定 | 發佈前看得到嗎 |
|---|---|---|---|
| 載入器 script 標記 | Project Settings > Custom Code > Add Script | 位置:<head> 開頭。頻率:多頁使用就選 Run on every page visit | 看不到 |
| 留言掛載 div | Embed 元件的 HTML 區 | 沒有,它是靜態標記 | 看不到 |
data-site-id | 載入器標記上的屬性 | 一個網站一組,來自你的 BootSignal 控制台 | 不適用 |
data-thread-id | 掛載 div 上的屬性 | 一場對話一個值,不是一個網站一個值 | 不適用 |
留言最後放在誰手上
Framer 網站有三條老實的路。自己做,那表示還沒有人打出第一個字,你就得先有登入、資料庫、API 和一個管理畫面,而且因為 Framer 不跑伺服器端程式,那一整疊東西得住在別的地方。用有廣告的代管討論串,讓你的讀者拿注意力付帳。或者花錢買一個代管小工具。替代方案那邊列了各家代管選項和它們目前的價格,數字放在那裡才對。
Framer 網站上這件事的花費
你 Custom Code 片段裡那組網站 ID 背後,就只有一份訂閱:每個已登記網域每月 $20 或每年 $200,小工具全含,今天是 38 個付費小工具加 33 個免費的瀏覽器工具,之後推出的也算在裡面。沒有任何一項按流量計量,這正是你拿來刷掉候選名單的那條線,因為按流量收費的留言工具,會挑你某篇文章終於紅起來的那個月寄出最大一張帳單。要多的網域則是另外一筆。
- 巢狀回覆,讓一場對話不會被壓成一疊互不相干的紙條。
- Google 登入,你網域上的每個 BootSignal 小工具共用。
- 控制台裡的管理畫面:刪掉某一則留言,或封鎖寫它的人。
- 按網域的白名單,你的網站 ID 只在你登記過的主機名稱上回應。
- 小工具的介面文字有韓文、英文和日文,用載入器上的
data-lang指定。
Custom Code 一段,Embed 一個 div,然後 Publish。
第二個小工具只是再一個 div
載入器不是只為留言而存在。網站上每個 BootSignal 小工具都靠它,所以下一個的成本是一個 Embed 加一個 div,不用第二個 script 標記,帳單也不動。表情回應和留言很搭:多數讀者永遠不會寫出一整段話,但其中不少人願意點一個表情。
多種表情回應 · 每人一次
表情回應,留給那些不會寫留言的讀者。同一段載入器,多一個 div。
有四件事第一天做比第三個月做容易。把你發佈的主機名稱一字不差地登記起來。替 Custom Code 片段取一個外人也認得出來的名字。趁著面板還在眼前,把執行頻率設好。還有,在有留言可丟之前先把 thread id 的規則定下來,因為對話是綁在那串字上的:之後一改,你會得到一串空的討論,舊留言留在舊的 id 底下。
常見問題
- 直接開文章網址時討論串在,從站內點連結進去就不見了,是哪裡壞了?
- 沒有壞。是片段跑的頻率不對。發佈出去的 Framer 網站在頁面之間移動時不會整頁重新載入,所以停在 Once 的 Custom Code 片段在造訪開始時跑一次,訪客後續怎麼點都不會再跑,第二頁上的掛載 div 於是沒有人來畫它。打開 Project Settings > Custom Code,選到那個片段,改成 Run on every page visit。只有討論串待在單一頁面、而讀者都是直接輸入網址進來時,Once 才是對的答案。
- 設成 Run on every page visit 之後,小工具會不會每一頁都重抓一次?
- 不會,也不會在同一頁疊出兩串留言。載入器標記帶著
defer,第一頁付掉一次抓取,而那次抓取既不擋解析也不擋繪製,之後瀏覽器都從快取拿。載入器再跑時,它找的是還沒被畫過的掛載點,畫下去的當下就替每一個做記號,已經有記號的一律跳過,所以在一個已經顯示討論串的頁面上重跑,等於什麼都沒發生。兩種設定看得見的代價是一樣的:討論串會比周圍的頁面晚一拍才填上,因為它要去拿自己的留言。 - 畫布和 preview 裡什麼都沒有,是我貼錯地方了嗎?
- 大概不是。Framer 明講從 Settings 加進去的自訂程式碼不會出現在 preview,因為那些指令碼是在發佈後的網站、在瀏覽器裡執行,不是在編輯器裡。發佈之後打開線上網址。Staging 要 Pro 以上,所以在 Free 或 Basic 上,第一眼就落在正式站上:把 Embed 放到還沒有連結指過去的頁面,在那裡看討論串,寬度和間距順了再搬。
- 免費方案做得到這件事嗎?
- 2026-08-25 查過的 Framer 頁面上,沒有一處把自訂程式碼綁在方案上:價格對照表沒有 custom code 這一列,講怎麼加自訂程式碼的說明文章沒點名方案,講網站方案的那篇也完全沒提自訂程式碼。請把它當成未確認,而不是許可。Framer 確實有明文擋住的東西就在旁邊:接自訂網域要付費方案,免費網站發佈在 Framer 子網域上並帶著 Made in Framer 標示,staging 從 Pro 起跳。你自己的 Custom Code 分頁大概十秒就能給出答案。
- CMS collection 裡每一篇文章都顯示同一場對話,該改什麼?
- collection 範本上的一個 Embed 只帶一個寫死的
data-thread-id,經過那個範本畫出來的每一篇都繼承它,於是整個 collection 讀寫同一串留言。寫死的值在data-thread-id="pricing"這種一次性頁面上是對的,在這裡就是錯的:在 collection 範本上,那串字必須隨文章變動,所以拿範本蓋東西之前,先確認你的 Embed 能不能在屬性值裡吃 CMS 欄位。在有人留言之前把它定下來。對話綁在那串字上,之後一改就是開一串空的,原有的留言留在舊 id 底下。 - 我把頁面重新設計一遍,討論串會怎麼樣?
- 不會怎麼樣,只要
data-thread-id沒變。對話綁的是那個值,不是版面也不是網址,所以你可以搬動 Embed、把周圍的區塊重新配色,甚至整頁重做,同一串留言都會回來。改掉那個 id,你就開了一串空的。
登記你發佈出去的網域,然後把一行貼進 Custom Code。
數據來源
- Framer Help: How to add custom code (Project Settings, Custom Code tab, Once vs Run on every page visit) (核對 2026-08-25)
- Framer Help: How to add an iframe or embed script (Insert menu, Embed component, HTML section) (核對 2026-08-25)
- Framer Help: Previewing your site (custom code added through Settings does not appear in preview) (核對 2026-08-25)
- Framer pricing (no custom code row in the plan comparison table; custom domain requires a paid plan) (核對 2026-08-25)
- Framer Help: Embedding a Trustpilot widget (loader script in Custom Code at the start of <head>, mount markup in an Embed component) (核對 2026-08-25)
- Framer Help: Publishing your Framer website (Publish button, the subdomain generated at publish, staging on Pro and above) (核對 2026-08-25)
- Framer Help: Best use cases for each Framer plan (Free publishes on a Framer domain with a Made in Framer banner) (核對 2026-08-25)
- Framer Updates: Custom Code, 2025-12-15 (snippets in Project Settings; code is set to execute Once by default) (核對 2026-08-25)