# Widget không hiện trên website

Kiểm tra lần lượt những lý do thường gặp khiến bong bóng chat không hiện, từ trang bị loại trừ trong cài đặt đến sai tên miền, và cách sửa từng lỗi.

Khi không khởi động được, widget im lặng: không có bong bóng chat và không có lỗi nào trên trang. Kiểm tra lần lượt theo thứ tự bên dưới; phần lớn sự cố được giải quyết ở ba bước đầu.

## Xem trạng thái cài đặt trước

Vào **Hỗ trợ khách hàng → Kênh** và bấm vào website. Thẻ **Cài lên website** ở trên cùng cho biết widget đã tải được trên tên miền của bạn chưa:

- **Đã cài trên** tên miền của bạn, **lần cuối** vài phút trước: đoạn mã đã có trên website và tải được. Widget đang bị một thiết lập ẩn đi; xem phần kiểm tra cài đặt widget bên dưới.
- **Chưa phát hiện**, hoặc lần cuối đã lâu: trang chưa có đoạn mã, hoặc tên miền không khớp. Xem phần tiếp theo.

Trên trang **Kênh**, website chưa từng tải widget có trạng thái **Chưa cài**.

## Kiểm tra đoạn mã và tên miền

| Bạn thấy | Nguyên nhân | Cách xử lý |
|---|---|---|
| **Chưa phát hiện** ngay sau khi cài | Trang bạn mở vẫn là bản cache cũ, hoặc chưa xuất bản. | Xoá cache của website (plugin cache, CDN) rồi tải lại. Với LadiPage, xuất bản lại trang. |
| **Chưa phát hiện** | Trang không có đoạn mã. | Mở trang, bấm chuột phải, chọn **Xem nguồn trang** và tìm `HATANG_SITE_ID`. Nếu không thấy, dán lại đoạn mã. Xem [Gắn widget chat lên website](https://hatang.dev/vi/help/widget/install-widget). |
| Chạy trên `mochuongtea.vn` nhưng không chạy ở địa chỉ khác | Widget chỉ tải trên **Tên miền** của website, các tên miền phụ và các **Origin được phép thêm**. | Sửa **Tên miền**, hoặc thêm địa chỉ kia vào **Origin được phép thêm** (có `https://`), rồi **Lưu cài đặt**. |
| Đoạn mã có trên trang mà vẫn không thấy gì | Đoạn mã là của một website khác trong Hạ Tầng, hoặc của doanh nghiệp khác. | Sao chép lại đoạn mã từ thẻ **Cài lên website** của đúng website này. |

## Kiểm tra cài đặt widget

| Thiết lập | Ẩn widget thế nào |
|---|---|
| **Trạng thái** | **Đã tắt (ẩn widget)** ẩn widget ở mọi nơi. Chuyển lại **Đang hoạt động**. |
| **Thiết bị** | **Chỉ máy tính** hoặc **Chỉ điện thoại** ẩn widget trên loại màn hình còn lại. |
| **Chỉ hiện trên URL chứa** | Khi có nội dung, widget chỉ hiện trên trang có địa chỉ chứa một trong các dòng. |
| **Ẩn trên URL chứa** | Widget ẩn trên trang có địa chỉ chứa một trong các dòng. |
| **Ẩn hẳn bong bóng khi ngoại tuyến** | Widget biến mất khi không ai trực. Xem [Giờ làm việc và tin nhắn ngoài giờ](https://hatang.dev/vi/help/widget/office-hours). |
| **Cho phép widget trong iframe khác origin** | Khi tắt, widget không chạy trên trang được hiển thị bên trong khung của website khác, như bản xem trước của một số công cụ dựng trang. |

![Thẻ Nơi hiện widget](https://hatang.dev/help/img/vi/widget/where-it-shows.webp)

Nhớ rằng thay đổi đến với khách trong vòng một phút sau khi bấm **Lưu cài đặt**.

## Kiểm tra module Hỗ trợ

Khi module **Hỗ trợ** bị tắt cho doanh nghiệp, widget ngừng hiện trên mọi website. Chủ sở hữu hoặc quản trị viên bật lại được. Xem [Module](https://hatang.dev/vi/help/getting-started/modules).

## Vẫn không thấy

Nếu trạng thái là **Đã cài** và không thiết lập nào ẩn widget, hãy nhờ lập trình viên mở công cụ dành cho nhà phát triển của trình duyệt trên trang đó và xem yêu cầu `bootstrap` gửi tới `chat.hatang.dev`:

| Yêu cầu trả về | Ý nghĩa |
|---|---|
| 403 `origin_not_allowed` | Địa chỉ trang không khớp tên miền hoặc các origin được phép của website. |
| 403 `site_disabled` | **Trạng thái** đang là **Đã tắt (ẩn widget)**. |
| 403 `product_disabled` | Module Hỗ trợ đang tắt. |
| 429 | Trang tải widget nhiều lần trong một phút, thường do đoạn mã bị dán trong vòng lặp. |
| Bị chặn trong console | Chính sách bảo mật (CSP) của website chặn widget. Cần cho phép `https://chat.hatang.dev` và `wss://chat.hatang.dev`. |

Trang nào đặt `hideLauncher` trong mã của chính nó thì cố ý ẩn nút chat; khi đó chat được mở từ nút riêng của website. [Hướng dẫn cho lập trình viên](https://hatang.dev/vi/docs/guides/support/web-widget/install) có chi tiết kỹ thuật.
