Korat

在店鋪網站上掛一個聊天按鈕

往你的店鋪網站(Wix、Webflow、Shopify、自己寫的或者外包寫的都行)貼一行程式碼,就得到一個浮動按鈕,客人一點就能在 Korat 裡找你聊天;旁邊還帶二維碼,已經裝了應用的人用手機掃一下就進。

這個按鈕是什麼

一個單檔案指令碼,貼到店鋪網頁上,它會在螢幕角落畫一個浮動按鈕(可以選左下或右下)——客人點選時,會在新標籤頁開啟 https://koratland.com/m/<你的店鋪 slug>,並且始終把當前網頁的 URL 一起帶過去(src 引數),好讓店家知道客人是從哪一頁找來的。

客人必須先登入 Korat 才能發訊息——還沒有帳號,或者在那個瀏覽器裡還沒登入的人,會先看到登入頁。這是正常的,也是有意這樣設計的。客人看到登入頁之後不想繼續也沒關係——系統不會強迫或誘導他往下走。

正因如此,按鈕裡還自帶一個二維碼(由 Korat 的伺服器生成,不是這個指令碼畫的):手機上已經裝了 Korat 應用並保持登入的客人,掃一下就直接進到會話,不用在電腦上打任何字——在裝了應用的安卓手機上,同一條連結會直接喚起應用。

它不是訪客追蹤工具

這個指令碼在頁面載入時不發出任何請求,不記錄訪問行為,不設定 cookie,也完全不讀取訪客的任何資訊——唯一會發生的事是客人自己點了按鈕之後,二維碼面板才去 Korat 伺服器取那張二維碼圖(一個請求、沒有 cookie、除了 src 沒有別的引數)。點“在 Korat 裡開啟聊天”時,瀏覽器只是開啟一條普通連結去 koratland.com——按下按鈕之前,後臺什麼都沒在跑。

怎麼開始——複製貼上一行

把這段程式碼貼在 </body> 之前(其實放頁面裡哪兒都行),把 somtam-lardprao-42 換成你自己的店鋪 slug(字母和數字,不是中文店名)——怎麼找 slug 見下一節:

<script src="https://koratland.com/embed/korat-message.js"
        data-korat="somtam-lardprao-42" defer></script>

就這樣——不用再裝別的,沒有依賴,也不會拖慢你的網站(單檔案、體積小、用 defer 載入,不阻塞頁面)。

去哪裡找自己的店鋪 slug

  • 在 Korat 上開啟自己的店鋪主頁 https://koratland.com/b/<slug>——位址列 URL 裡 /b/ 後面那一段就是 slug。
  • 聊天按鈕和二維碼用的是同一個 slug。

各個平臺怎麼貼

  • Wix——Editor → Add → Embed Code → Custom Embeds → HTML iframe → 貼上上面那段程式碼。
  • Webflow——Add panel → Embed → Embed an HTML Code → 貼上程式碼 → Publish。
  • Shopify——Online Store → Themes → Edit code → 開啟 theme.liquid → 貼在 </body> 之前。
  • WordPress——如果你的站是 WordPress,請改用專門的 Korat 外掛(見文件總目錄),它在後臺菜單裡有設定嚮導,不用自己改程式碼——當然,這一頁的指令碼你想自己貼也一樣能用。
  • 自己寫的 / 外包寫的網站——直接把 <script> 標籤放進 HTML 檔案,貼在 </body> 之前。

自定義選項(data-*)

屬性預設值含義
data-korat必填:店鋪主頁 /b/<slug> 裡的 slug,用來生成聊天連結。
data-namedata-korat二維碼面板裡顯示的店名(純文字,不影響 URL)。
data-positionbrbr = 右下,bl = 左下。
data-label按語言的標準文案按鈕上的文字,可以自己寫。
data-langththen
data-qr顯示data-qr="0" 隱藏二維碼面板(只留開啟聊天的連結)。

聊天 URL 和二維碼圖片 URL 裡的 src,永遠取自按鈕所在頁面的 location.href——指令碼沒有提供改成固定值的辦法,因為那會讓所有按鈕看起來都來自同一頁,正好違背這個功能的用意。

完整自定義示例:

<script src="https://koratland.com/embed/korat-message.js"
        data-korat="somtam-lardprao-42"
        data-name="Somtam Lardprao"
        data-position="bl"
        data-label="Chat with us"
        data-lang="en"
        defer></script>

無障礙(Accessibility)

  • 它是真正的按鈕,可以用 Tab 鍵聚焦,並帶 aria-label
  • 按 Esc 關閉二維碼面板。
  • 尊重使用者裝置上的“減少動態效果”設定(prefers-reduced-motion)。
  • 淺色和深色背景下對比度都夠,並按新款手機的安全區域(safe-area)留出邊距,不擋住螢幕底部的手勢條。

為什麼它對你的網站是安全的

  • 介面用 Shadow DOM 繪製 ⇒ 你網站的 CSS 和按鈕的 CSS 絕不會互相打架。
  • 單檔案,沒有外部依賴,不額外載入字型或庫。
  • 重複載入多少次都不會畫出重疊的按鈕。
  • 你在 data-* 裡填的值,顯示前一律做轉義處理。