Tác giả: Hòa Trần Blogger - đăng vào tháng 8 15, 2025
Script Thay Đổi Nội Dung Trang Web
JavaScript thuần • Không thư viện ngoài
📌 Mục đích
Script giúp tự động tìm và thay thế các từ/cụm từ trên nội dung trang web. Ví dụ: chuyển lời kêu gọi “mua ngay” sang “xem thêm”, thay đổi các cụm từ liên quan giao dịch/khuyến mãi thành nội dung trung tính hơn — mà không cần chỉnh sửa backend.
⚙ Công nghệ sử dụng
- Ngôn ngữ: JavaScript thuần.
- API:
document.createTreeWalker
để duyệt text node;RegExp
(không phân biệt hoa/thường). - Chống xung đột: Bỏ qua nội dung trong
<script>
,<style>
,<pre>
,<code>
. - Thứ tự thay: Sắp xếp từ khóa dài → ngắn để tránh đè nhau.
🚀 Cách dùng nhanh
- Copy đoạn <script>...</script> dưới đây.
- Dán trước thẻ
</body>
của trang bạn muốn áp dụng. - Tuỳ chỉnh danh sách
replacements
theo nhu cầu.
🧩 Mã nguồn
<script>
//<![CDATA[
(function () {
function replaceTextInPage(replacements) {
const SKIP_TAGS = new Set(["SCRIPT", "STYLE", "NOSCRIPT", "PRE", "CODE"]);
const walker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_TEXT,
{
acceptNode: (node) => {
const p = node.parentNode;
if (!p || SKIP_TAGS.has(p.nodeName)) return NodeFilter.FILTER_REJECT;
if (!node.nodeValue || !node.nodeValue.trim()) return NodeFilter.FILTER_REJECT;
return NodeFilter.FILTER_ACCEPT;
},
},
false
);
const sortedKeys = Object.keys(replacements).sort((a, b) => b.length - a.length);
let node;
while ((node = walker.nextNode())) {
let text = node.nodeValue;
for (const find of sortedKeys) {
const replace = replacements[find];
const regex = new RegExp(find, "gi");
text = text.replace(regex, replace);
}
node.nodeValue = text;
}
}
const replacements = {
"mua ngay": "xem thêm",
"đặt hàng": "xem chi tiết",
"mua sắm": "xem thêm",
"đặt mua": "liên hệ",
"thêm vào giỏ": "lưu mục",
"giá niêm yết": "thông tin",
"giá bán": "thông tin sản phẩm",
"ưu đãi đặc biệt": "ưu đãi",
"flash sale": "ưu đãi nhanh",
"deal hot": "ưu đãi nhanh",
"sale off": "ưu đãi",
"liên hệ mua": "liên hệ",
"hàng chính hãng": "mẫu đảm bảo",
"hàng mới": "mẫu mới",
"hàng tồn": "mẫu còn lại",
"bảo hành": "hỗ trợ",
"cam kết": "thông tin thêm",
"khuyến mãi": "ưu đãi",
"giảm giá": "ưu đãi",
"thanh toán": "trao đổi",
"checkout": "trao đổi",
"hoàn tiền": "hỗ trợ đổi",
"trả góp": "liên hệ hỗ trợ",
"giỏ hàng": "danh sách",
"đơn hàng": "thông tin liên hệ",
"free ship": "hỗ trợ phí vận chuyển",
"giao hàng": "gửi hàng",
"vận chuyển": "gửi",
"giao tận nơi": "gửi đến",
"phí ship": "phí gửi",
"cửa hàng": "trang",
"mẫu mã": "kiểu",
"sản phẩm": "mẫu",
"shop": "trang",
"mua": "liên hệ",
"bán": "chia sẻ",
"giá": "thông tin",
"ưu đãi": "thông tin thêm",
"order": "liên hệ",
"ship": "giao"
};
replaceTextInPage(replacements);
})();
//]]></script>
📎 Lưu ý
- Script chỉ thay đổi nội dung đang hiển thị ở trình duyệt; tải lại trang sẽ về nguyên bản (trừ khi bạn nhúng cố định).
- Nếu muốn áp dụng vĩnh viễn, hãy đưa đoạn script vào code của website hoặc dùng extension.
Đừng bỏ lỡ.