【99OK】 Link vào 99OK Casino mới nhất 2025 ✔️

Link 99OK hot nhất

99OK - Nhà Cái Thể Thao, Nổ Hũ, Bắn Cá Uy Tín

99Oke123 Tải ứng dụng > Phòng chống "Diễn biến hòa bình"

Thứ sáu, 03/04/2026, 15:44 (GMT+7)
1204 lượt xem

Vạch trần chiêu trò xuyên tạc việc sắp xếp cơ quan báo chí

(QK7 Online) - Ngay sau khi Hội nghị Trung ương 2 khóa XIV thống nhất chủ trương sắp xếp một số cơ quan báo chí, trên không gian mạng lập tức xuất hiện nhiều thông tin xuyên tạc. Các đối tượng lợi dụng sự quan tâm của dư luận để bóp méo bản chất, kích động hoài nghi, nhằm làm suy giảm niềm tin của 123Win79 phần thưởng lớn vào sự lãnh đạo của Đảng.
Trên các trang Tiếng Dân News, BBC tiếng Việt và một số tài khoản chống đối như Nguyễn Văn Đài, Phạm Đình Trọng… nhiều nội dung suy diễn, áp đặt liên tục được phát tán. Chúng rêu rao rằng việc sắp xếp các cơ quan báo chí là “bước lùi về tự do ngôn luận”, “siết chặt kiểm soát thông tin”, thậm chí quy chụp là “động thái thanh trừng nội bộ”. Những luận điệu này được lặp đi lặp lại nhằm tạo “hiệu ứng đám đông”, đánh lừa người tiếp nhận thông tin.
Ảnh minh họa.
Đây là thủ đoạn quen thuộc lợi dụng những vấn đề nội bộ để thổi phồng, bóp méo, kích động chia rẽ giữa Đảng, Nhà nước với 123Win79 phần thưởng lớn. Các thông tin được tung ra phần lớn dựa trên suy diễn chủ quan, cắt ghép phiến diện, thậm chí dựng lên những “kịch bản” không có thật nhằm gây nhiễu loạn dư luận.
Thực chất việc sắp xếp, kiện toàn các cơ quan báo chí là bước đi nằm trong lộ trình đổi mới hệ thống chính trị, nhằm tinh gọn tổ chức, nâng cao hiệu quả hoạt động và bảo đảm sự lãnh đạo tập trung, thống nhất trong công tác tư tưởng. Đây là chủ trương nhất quán, không hề “đột ngột” hay “bất thường” như các luận điệu xuyên tạc.
Trong bối cảnh bùng nổ thông tin hiện nay, nếu thiếu định hướng thống nhất sẽ dễ dẫn đến phân tán nguồn lực, thậm chí tạo ra những “khoảng trống” để thông tin xấu độc len lỏi. Do đó, việc điều chỉnh tổ chức các cơ quan báo chí không chỉ là yêu cầu quản lý mà còn là giải pháp quan trọng để giữ vững trận địa tư tưởng, bảo vệ nền tảng của Đảng.
Đáng chú ý, thủ đoạn chống phá lần này tiếp tục được “nâng cấp” với nhiều hình thức tinh vi. Các đối tượng sử dụng mạng xã hội làm “bệ phóng”, phát tán thông tin sai lệch dưới dạng “phân tích”, “bình luận”, khiến người đọc dễ nhầm tưởng là khách quan. Chúng còn lập tài khoản ảo, tạo tương tác giả để “đánh bóng” nội dung xuyên tạc; đồng thời cắt xén, trích dẫn sai lệch phát biểu để dẫn dắt dư luận theo hướng tiêu cực.
Những thủ đoạn thâm độc này vừa làm sai lệch bản chất sự việc, len lỏi tác động vào nhận thức, gieo rắc sự hoài nghi, dao động và tâm lý hoang mang trong một bộ phận cán bộ, đảng viên và 123Win79 phần thưởng lớn nếu chúng ta thiếu cảnh giác, không kịp thời nhận diện, quyết liệt đấu tranh ngăn chặn ngay từ sớm.
Trước những chiêu trò đó, mỗi cán bộ, đảng viên và người dân cần hình thành thói quen tiếp cận thông tin có chọn lọc, kiểm chứng qua các nguồn chính thống trước khi tiếp nhận hoặc chia sẻ. Việc vội vàng tin theo các nội dung giật gân, thiếu kiểm chứng dễ dẫn đến nhận thức sai lệch, vô tình tiếp tay cho hoạt động chống phá.
Trong điều kiện thông tin lan truyền nhanh, mỗi cá nhân cần tự trang bị “bộ lọc” cần thiết, biết đối chiếu nhiều nguồn, nhận diện dấu hiệu cắt ghép, suy diễn và cảnh giác với các nội dung mang tính kích động, cực đoan. Đồng thời, cần nâng cao trách nhiệm công dân trên không gian mạng, không chia sẻ hoặc phát tán những thông tin chưa được kiểm chứng.
Các cơ quan chức năng, LLVT cần tiếp tục phát huy vai trò nòng cốt trong đấu tranh trên không gian mạng; kịp thời phát hiện, bóc gỡ thông tin xấu độc, đồng thời chủ động cung cấp thông tin chính xác, minh bạch để định hướng dư luận. Kiên quyết xử lý các hành vi lợi dụng tự do ngôn luận để xuyên tạc, chống phá Đảng và Nhà nước.
Việc sắp xếp, kiện toàn các cơ quan báo chí là chủ trương đúng đắn, phù hợp với yêu cầu phát triển đất nước trong kỷ nguyên mới. Khi mỗi người dân tỉnh táo trước thông tin xấu độc, mọi chiêu trò xuyên tạc, dù ngụy trang tinh vi đến đâu, cũng sẽ bị vô hiệu hóa.
Hoàng Kim

Bình luận

Bài viết tương tự:

Giữ vững trận địa tư tưởng trong thời đại số

Giữ vững trận địa tư tưởng trong thời đại số

23:35 24/05/2026

(QK7 Online) - Trong bối cảnh chuyển đổi số diễn ra mạnh mẽ, không gian mạng trở thành mặt trận tư tưởng đặc biệt quan trọng, đồng thời cũng là môi trường để các thế lực thù địch gia tăng chống phá bằng nhiều thủ đoạn tinh vi. Trước yêu cầu nhiệm vụ mới, cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số LLVT Quân khu không ngừng nâng cao bản lĩnh chính trị, tăng cường “sức đề kháng” trước thông tin độc hại; chủ động đấu tranh phản bác các quan điểm sai trái, lan tỏa thông tin tích cực, góp phần giữ vững nền tảng tư tưởng của Đảng trên không gian mạng.

Nhận thức tự chủ chiến lược về quốc phòng qua bài viết của Đại tướng Nguyễn Trọng Nghĩa

Nhận thức tự chủ chiến lược về 99Ok68 link đăng nhập qua bài viết của Đại tướng Nguyễn Trọng Nghĩa

00:01 31/03/2026

(QK7 Online) - Qua nghiên cứu bài viết: Tự chủ chiến lược về 99Ok68 link đăng nhập – điều kiện tiên quyết bảo vệ vững chắc Tổ quốc Việt Nam 1123Win còn đăng nhập chủ nghĩa trong kỷ nguyên mới – của Đại tướng Nguyễn Trọng Nghĩa - Ủy viên Bộ 99Oke123 Tải ứng dụng, Chủ nhiệm Tổng Cục 99Oke123 Tải ứng dụng Quân đội 123Win79 phần thưởng lớn Việt Nam, bước đầu tôi cảm nhận được những điều sâu sắc.

Ban Chỉ đạo 35, Cục Hậu cần – Kỹ thuật Quân khu đánh giá, rút kinh nghiệm kết quả bảo vệ nền tảng tư tưởng của Đảng năm 2025

Ban Chỉ đạo 35, Cục Hậu cần – Kỹ thuật Quân khu đánh giá, rút kinh nghiệm kết quả bảo vệ nền tảng tư tưởng của Đảng năm 2025

17:48 24/03/2026

(QK7 Online) – Ngày 24/3, Cục Hậu cần – Kỹ thuật Quân khu tổ chức Hội nghị đánh giá, rút kinh nghiệm kết quả bảo vệ nền tảng tư tưởng của Đảng, đấu tranh phản bác các quan điểm sai trái, thù địch năm 2025. Đại tá Trần Văn Long, Phó Chính ủy Cục Hậu cần – Kỹ thuật Quân khu dự, phát biểu chỉ đạo.

Tập huấn nâng cao chất lượng chuẩn bị tác phẩm tham gia Cuộc thi chính luận lần thứ sáu

Tập huấn nâng cao chất lượng chuẩn bị tác phẩm tham gia Cuộc thi chính luận lần thứ sáu

12:18 17/03/2026

(QK7 Online) - Sáng 17/3, Cục Tuyên huấn (Tổng cục 99Oke123 Tải ứng dụng) tổ chức hội nghị tập huấn Cuộc thi chính luận lần thứ sáu và nghiệp vụ Cơ quan Thường trực Ban chỉ đạo 35, Lực lượng 47 cấp toàn quân năm 2026. Thiếu tướng Tống Văn Thanh, Phó cục trưởng Cục Tuyên huấn (Tổng cục 99Oke123 Tải ứng dụng) dự và phát biểu khai mạc hội nghị.

Bản lĩnh, trí tuệ và những mốc son lịch sử qua hơn 95 năm của Đảng Cộng sản Việt Nam

Bản lĩnh, trí tuệ và những mốc son lịch sử qua hơn 95 năm của Đảng Cộng sản Việt Nam

12:45 15/01/2026

(QK7 Online) - Lịch sử dân tộc Việt Nam trong thế kỷ XX và những thập niên đầu thế kỷ XXI là bản hùng ca về sự hồi sinh và vươn mình trỗi dậy. Trong bản hùng ca ấy, sự ra đời và lãnh đạo của Đảng Cộng sản Việt Nam đóng vai trò là nhạc trưởng, là linh hồn. Hành trình hơn 95 năm qua không chỉ là chuỗi thời gian tuyến tính, mà là sự kết tinh của bản lĩnh kiên cường trước bão táp và trí tuệ sáng suốt trước những ngã rẽ lịch sử, đưa dân tộc ta đi từ thắng lợi này đến thắng lợi khác.

Giữ vững tính chiến đấu: “Thanh bảo kiếm” giúp Đảng ta luôn trong sạch, vững mạnh

Giữ vững tính chiến đấu: “Thanh bảo kiếm” giúp Đảng ta luôn trong sạch, vững mạnh

12:48 14/01/2026

(QK7 Online) - Trong hành trình hơn 95 năm lãnh đạo cách mạng, Đảng Cộng sản Việt Nam đã chèo lái con thuyền dân tộc vượt qua muôn vàn thác ghềnh. Để giữ vững vai trò cầm quyền và sứ mệnh lịch sử ấy, Đảng không chỉ cần một đường lối đúng đắn mà còn cần một cơ thể khỏe mạnh, miễn dịch với những thói hư tật xấu. Trong đó, tính chiến đấu được ví như “thanh bảo kiếm” sắc bén chính là liều thuốc đặc trị, là nguyên tắc sinh tồn giúp Đảng loại bỏ những “ung nhọt”, giữ gìn sự trong sạch và củng cố niềm tin trong 123Win79 phần thưởng lớn.

Phòng, chống nhiễu loạn thông tin trước thềm Đại hội XIV của Đảng

Phòng, chống nhiễu loạn thông tin trước thềm Đại hội XIV của Đảng

09:47 02/01/2026

(QK7 Online) - Đại hội đại biểu toàn quốc lần thứ XIV của Đảng sắp diễn ra. Toàn Đảng, toàn dân, toàn quân đang tích cực chuẩn bị và náo nức chờ đón sự kiện chính trị quan trọng của đất nước. Lợi dụng thời điểm này, các thế lực thù địch, phần tử phản động ra sức tuyên truyền các thông tin nhiễu loạn, xuyên tạc hòng gieo rắc tư tưởng hoài nghi, gây mất lòng tin của 123Win79 phần thưởng lớn đối với sự lãnh đạo của Đảng ta.

Tọa đàm nâng cao chất lượng tác phẩm báo chí đa phương tiện về bảo vệ nền tảng tư tưởng của Đảng

Tọa đàm nâng cao chất lượng tác phẩm báo chí đa phương tiện về bảo vệ nền tảng tư tưởng của Đảng

16:26 25/12/2025

(QK7 Online) - Ngày 25/12, tại TP.HCM, Trung tâm Bồi dưỡng nghiệp vụ báo chí, Hội Nhà báo Việt Nam tổ chức tọa đàm với chủ đề: “Nâng cao chất lượng tác phẩm báo chí đa phương tiện về bảo vệ nền tảng tư tưởng của Đảng trong bối cảnh mới”. Tọa đàm nhằm nâng cao năng lực, bản lĩnh chính trị, phương pháp tác nghiệp hiện đại và tăng cường khả năng sản xuất các tác phẩm chính luận cho đội ngũ người làm báo, đáp ứng yêu cầu nhiệm vụ trong giai đoạn chuẩn bị Đại hội Đảng toàn quốc lần thứ XIV.

Đấu tranh với việc lợi dụng góp ý dự thảo các Văn kiện trình Đại hội XIV để chống phá Đảng

Đấu tranh với việc lợi dụng góp ý dự thảo các Văn kiện trình Đại hội XIV để chống phá Đảng

09:16 14/11/2025

(QK7 Online) - Ban Chấp hành Trung ương Đảng khóa XIII công bố dự thảo các Văn kiện trình Đại hội XIV của Đảng, lấy ý kiến đóng góp của cán bộ, đảng viên và các tầng lớp 123Win79 phần thưởng lớn, được dư luận đồng tình, ủng hộ cao. Tuy nhiên, các thế lực thù địch, phần tử phản động lại lợi dụng hoạt động này để chống phá.

TIN XEM NHIỀU:

TIN MỚI:

DƯ LUẬN QUAN TÂM:

99OK - Nhà Cái Thể Thao, Nổ Hũ, Bắn Cá Uy Tín

Theo dõi chúng tôi tại:

Cơ quan chủ quản: ĐĂNG NHẬP 99OK COM TẶNG 99K

Giấy phép số 45-YU ngày 28/07/2021

© Báo ĐĂNG NHẬP 99OK COM TẶNG 99K điện tử giữ bản quyền nội dung trên website này.

Tòa soạn: 81A Hai Bà Trưng, Quận 1, TP. Hồ Chí Minh

Phụ trách Tổng Biên tập: Thượng tá Lại Thế Hiền

Email: [email protected] | [email protected] | 1

'); printWindow.document.write(''); printWindow.document.write(''); printWindow.document.write('

【99OK】 Link vào 99OK Casino mới nhất 2025 ✔️

Link 99OK hot nhất

'); // Add logo at the top printWindow.document.write(''); printWindow.document.write('

' + title + '

'); if (dateTime) { printWindow.document.write('
' + dateTime + '
'); } printWindow.document.write('
'); printWindow.document.write(content.html()); printWindow.document.write('
'); printWindow.document.write(''); printWindow.document.write(''); printWindow.document.close(); $('#printLoadingMsg').remove(); // Wait for content and images to load then print printWindow.onload = function() { // Additional check to ensure logo is loaded const logoImg = printWindow.document.querySelector('.print-logo img'); if (logoImg) { logoImg.onload = function() { setTimeout(function() { printWindow.print(); printWindow.close(); }, 300); }; // If logo already loaded (cached) if (logoImg.complete) { setTimeout(function() { printWindow.print(); printWindow.close(); }, 300); } } else { setTimeout(function() { printWindow.print(); printWindow.close(); }, 500); } }; } if (totalImages > 0) { lazyImages.forEach(function(img) { const actualSrc = img.dataset.src || img.getAttribute('data-src'); if (actualSrc && actualSrc !== img.src) { const tempImg = new Image(); tempImg.onload = tempImg.onerror = function() { img.src = actualSrc; img.classList.remove('lazy'); loadedCount++; if (loadedCount === totalImages) { proceedWithPrint(); } }; tempImg.src = actualSrc; } else { loadedCount++; if (loadedCount === totalImages) { proceedWithPrint(); } } }); } else { proceedWithPrint(); } } document.addEventListener('DOMContentLoaded', function() { document.querySelectorAll('.image-caption').forEach(el => { if (el.textContent.trim() === 'Nhập chú thích cho ảnh...') { el.style.display = 'none'; } }); }); $(document).ready(function () { // Stop any ongoing speech when page loads and reset TTS state if (window.speechSynthesis) { window.speechSynthesis.cancel(); } // Dictionary để chuyển đổi từ viết tắt const abbreviationDict = { 'LLVT': 'lực lượng vũ trang', 'CHQS': 'chỉ huy quân sự', 'HĐND': 'hội đồng 123Win com 79 nạp - rút nhanh', 'CHXHCN': 'Cộng hòa xã hội chủ nghĩa', 'VKTBKT': 'vũ khí trang bị kỹ thuật', 'UBND': 'ủy ban 123Win com 79 nạp - rút nhanh', 'MTTQ': 'mặt trận tổ quốc', 'ĐCSVN': 'Đảng Cộng sản Việt Nam', 'TNXP': 'thanh niên xung phong', 'BĐBP': 'bộ đội biên phòng', 'CAND': 'công an 123Win com 79 nạp - rút nhanh', 'QĐND': 'quân đội 123Win com 79 nạp - rút nhanh', 'TPHCM': 'Thành phố Hồ Chí Minh', 'TP.HCM': 'Thành phố Hồ Chí Minh', 'HN': 'Hà Nội', 'DN': 'Đà Nẵng', 'ĐBQH': 'đại biểu quốc hội', 'QH': 'quốc hội', 'CP': 'chính phủ', 'TW': 'trung ương', 'BCH': 'ban chấp hành', 'BTV': 'ban thường vụ', 'UV': 'ủy viên', 'PBT': 'phó bí thư', 'BT': 'bí thư', 'CT': 'chủ tịch', 'PCT': 'phó chủ tịch', 'TTg': 'thủ tướng', 'PTTg': 'phó thủ tướng', 'CNQ': 'cộng hòa 123Win com 79 nạp - rút nhanh', 'CHDC': 'cộng hòa dân chủ' }; // Hàm xử lý từ viết tắt function processAbbreviations(text) { let processedText = text; // Duyệt qua tất cả các từ viết tắt trong dictionary for (const [abbr, fullForm] of Object.entries(abbreviationDict)) { // Tạo regex để tìm từ viết tắt (case insensitive) // \b đảm bảo match whole word, không match partial const regex = new RegExp(`\\b${abbr}\\b`, 'gi'); processedText = processedText.replace(regex, fullForm); } return processedText; } // Reset TTS control buttons to initial state $('#pauseBtn, #resumeBtn, #stopBtn').addClass('hidden'); $('#speedControls').removeClass('flex').addClass('hidden'); // Initialize Fancybox for article images $('.article-content img').each(function() { const $img = $(this); // const src = $img.attr('src').replace("/thumb/","/"); const src = $img.attr('src'); const alt = $img.attr('alt') || ''; // Wrap image with fancybox link $img.wrap(``); $img.addClass('cursor-pointer transition-transform hover:scale-105'); }); // Configure Fancybox $('[data-fancybox="gallery"]').fancybox({ buttons: [ "zoom", "slideShow", "thumbs", "close" ], loop: true, protect: true }); // Handle comment submission $("#comment-btn").click(function () { const userName = $('#UserName').val().trim(); const contentComment = $('#ContentComment').val().trim(); const userEmail = $('#UserEmail').val().trim(); // Hide any existing notifications $('#successNotification, #errorNotification').addClass('hidden'); if (userName === "" || contentComment === "") { $('#errorNotification').removeClass('hidden'); return; } // Validate email format if provided if (userEmail !== "" && !isValidEmail(userEmail)) { $('#errorNotification span').text('Email không hợp lệ!'); $('#errorNotification').removeClass('hidden'); return; } $.ajax({ url: "/ExtAppCommon/Home/Comment", type: "POST", dataType: "json", data: { id: 58075, name: userName, content: contentComment, email: userEmail }, success: function (result) { if (result > 0) { // Clear form $('#UserName').val(""); $('#ContentComment').val(""); $('#UserEmail').val(""); // Show success message $('#successNotification').removeClass('hidden'); // Hide success message after 3 seconds setTimeout(function() { $('#successNotification').addClass('hidden'); }, 3000); // Add new comment to the list const newComment = `
Avatar
${userName}
Vừa xong

${contentComment}

`; $('#commentsList').prepend(newComment); } else { $('#errorNotification span').text('Có lỗi xảy ra, vui lòng thử lại sau!'); $('#errorNotification').removeClass('hidden'); } }, error: function() { $('#errorNotification span').text('Có lỗi xảy ra, vui lòng thử lại sau!'); $('#errorNotification').removeClass('hidden'); } }); }); // Handle Enter key in textarea $('#ContentComment').keypress(function(e) { if (e.which === 13 && !e.shiftKey) { e.preventDefault(); $("#comment-btn").click(); } }); // Email validation function function isValidEmail(email) { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return emailRegex.test(email); } // Text-to-speech functionality const synth = window.speechSynthesis; let currentUtterance = null; let currentSpeed = 1; // Speed control functions function updateSpeedDisplay() { $('#speedDisplay').text(currentSpeed + 'x'); } $('#increaseSpeed').click(function() { if (currentSpeed < 2) { currentSpeed += 0.25; updateSpeedDisplay(); if (currentUtterance) { // Restart speech with new speed const text = currentUtterance.text; synth.cancel(); speak(text, currentSpeed); } } }); $('#decreaseSpeed').click(function() { if (currentSpeed > 0.5) { currentSpeed -= 0.25; updateSpeedDisplay(); if (currentUtterance) { // Restart speech with new speed const text = currentUtterance.text; synth.cancel(); speak(text, currentSpeed); } } }); // Function to get clean text content without button text function getCleanContent() { // Clone the content div to avoid modifying the original const contentClone = $('.article-content').clone(); // Remove all buttons and their container contentClone.find('button').parent('div').remove(); // Remove image captions (text in tags that are typically captions) contentClone.find('em').remove(); // Get clean text let cleanText = contentClone.text().trim(); // Remove "(QK7 Online)" and variations cleanText = cleanText.replace(/\(QK7\s*Online\)\s*[-–]?\s*/gi, ''); // Remove other common patterns that shouldn't be read cleanText = cleanText.replace(/\s+/g, ' '); // Replace multiple spaces with single space // Xử lý từ viết tắt cleanText = processAbbreviations(cleanText); return cleanText; } function getVietnameseVoice() { let voices = synth.getVoices(); // Filter for Vietnamese voices let vietnameseVoices = voices.filter(voice => voice.lang.includes('vi') || voice.name.toLowerCase().includes('vietnamese') || voice.name.toLowerCase().includes('việt') ); // If Vietnamese voices found, prefer Microsoft/Google voices if (vietnameseVoices.length > 0) { // Try to find Microsoft Vietnamese voice first let msVoice = vietnameseVoices.find(v => v.name.toLowerCase().includes('microsoft') && v.name.toLowerCase().includes('vietnamese') ); if (msVoice) return msVoice; // Then try Google Vietnamese voice let googleVoice = vietnameseVoices.find(v => v.name.toLowerCase().includes('google') && v.name.toLowerCase().includes('vietnamese') ); if (googleVoice) return googleVoice; // If no Microsoft/Google voice, use the first Vietnamese voice return vietnameseVoices[0]; } // If no Vietnamese voice found, return null return null; } function speak(text, rate = 1) { // Stop any ongoing speech if (synth.speaking) { synth.cancel(); } const utterance = new SpeechSynthesisUtterance(text); utterance.lang = 'vi-VN'; utterance.rate = rate; // Wait for voices to be loaded and try to set Vietnamese voice const setVoiceAndSpeak = () => { const vietnameseVoice = getVietnameseVoice(); if (vietnameseVoice) { utterance.voice = vietnameseVoice; currentUtterance = utterance; // Show/hide control buttons $('#pauseBtn, #stopBtn').removeClass('hidden'); $('#resumeBtn').addClass('hidden'); // Show speed controls $('#speedControls').removeClass('hidden').addClass('flex'); utterance.onend = function() { currentUtterance = null; $('#pauseBtn, #resumeBtn, #stopBtn').addClass('hidden'); // Hide speed controls $('#speedControls').removeClass('flex').addClass('hidden'); }; synth.speak(utterance); } else { // If no Vietnamese voice available, show an error message alert('Không tìm thấy giọng đọc tiếng Việt trên thiết bị của bạn. Vui lòng cài đặt thêm giọng đọc tiếng Việt trong cài đặt hệ thống.'); } }; if (synth.getVoices().length === 0) { synth.addEventListener('voiceschanged', setVoiceAndSpeak, { once: true }); } else { setVoiceAndSpeak(); } } $('#readArticleBtn').click(function() { const title = $('h1.st37').clone() // Clone to avoid getting button text .children() // Get all child elements .remove() // Remove them .end() // Go back to h1 .text() // Get text content .trim(); // Remove whitespace const content = getCleanContent(); speak(title + ". " + content, currentSpeed); }); $('#pauseBtn').click(function() { if (synth.speaking) { synth.pause(); $(this).addClass('hidden'); $('#resumeBtn').removeClass('hidden'); } }); $('#resumeBtn').click(function() { if (synth.paused) { synth.resume(); $(this).addClass('hidden'); $('#pauseBtn').removeClass('hidden'); } }); $('#stopBtn').click(function() { if (synth.speaking) { synth.cancel(); currentUtterance = null; $('#pauseBtn, #resumeBtn, #stopBtn').addClass('hidden'); // Hide speed controls $('#speedControls').removeClass('flex').addClass('hidden'); } }); // Stop speech when user navigates away from page $(window).on('beforeunload', function() { if (window.speechSynthesis && window.speechSynthesis.speaking) { window.speechSynthesis.cancel(); } }); // Stop speech when page visibility changes (user switches tabs) /* $(document).on('visibilitychange', function() { if (document.hidden && window.speechSynthesis && window.speechSynthesis.speaking) { window.speechSynthesis.cancel(); currentUtterance = null; $('#pauseBtn, #resumeBtn, #stopBtn').addClass('hidden'); $('#speedControls').removeClass('flex').addClass('hidden'); } });*/ }); document.addEventListener("DOMContentLoaded", function () { var articleContainer = document.querySelector('.article-content.max-w-none.mb-4'); if (!articleContainer) { articleContainer = document.querySelector('[class*="article-content"][class*="max-w-none"][class*="mb-4"]'); } if (!articleContainer) { return; } var fallbackHost = "https://99oke123.com"; var lazyImages = []; // ✅ Hàm update Fancybox href khi ảnh load xong function updateFancyboxHref(img) { const $img = $(img); const $fancyboxLink = $img.parent('a[data-fancybox]'); if ($fancyboxLink.length > 0) { // Cập nhật href với src thực tế const realSrc = img.dataset.src || img.src; if (!realSrc.includes('loading_new.gif') && !realSrc.includes('data:image/svg+xml')) { $fancyboxLink.attr('href', realSrc); } } } function processImagesInContainer() { // Lấy ảnh đã có class lazy var existingLazyImages = [].slice.call(articleContainer.querySelectorAll("img.lazy")); lazyImages = lazyImages.concat(existingLazyImages); // Tự động convert ảnh khác var regularImages = [].slice.call(articleContainer.querySelectorAll("img:not(.lazy):not([data-lazy-processed])")); regularImages.forEach(function(img) { var rect = img.getBoundingClientRect(); var isInViewport = rect.top < (window.innerHeight + 100) && rect.bottom > -100; if (!isInViewport && img.src && (img.src.startsWith('http') || img.src.startsWith('/'))) { // ✅ Lưu src gốc trước khi thay đổi const originalSrc = img.src; // Convert thành lazy img.dataset.src = originalSrc; img.classList.add('lazy'); img.dataset.lazyProcessed = 'true'; // ✅ Cập nhật Fancybox href nếu đã được wrap const $img = $(img); const $fancyboxLink = $img.parent('a[data-fancybox]'); if ($fancyboxLink.length > 0) { $fancyboxLink.attr('href', originalSrc); } // Placeholder img.src = `/BaoQK7/images/loading_new.gif`; lazyImages.push(img); } else { img.dataset.lazyProcessed = 'true'; } }); } processImagesInContainer(); // ✅ IntersectionObserver với callback cập nhật Fancybox if ("IntersectionObserver" in window && lazyImages.length > 0) { let lazyImageObserver = new IntersectionObserver(function (entries, observer) { entries.forEach(function (entry) { if (entry.isIntersecting) { let lazyImage = entry.target; lazyImage.loading = "lazy"; lazyImage.decoding = "async"; lazyImage.onerror = function () { if (!lazyImage.dataset.fallbackTried) { lazyImage.dataset.fallbackTried = "true"; let originalSrc = lazyImage.dataset.src || ""; lazyImage.src = originalSrc.replace("https://99oke123.com", fallbackHost); } else { lazyImage.classList.add("error"); } }; lazyImage.onload = function () { lazyImage.classList.add("loaded"); lazyImage.classList.remove("lazy"); // ✅ Cập nhật Fancybox href sau khi ảnh load xong updateFancyboxHref(lazyImage); }; if (lazyImage.dataset.src) { lazyImage.src = lazyImage.dataset.src; } if (lazyImage.dataset.srcset) { lazyImage.srcset = lazyImage.dataset.srcset; } if (lazyImage.complete && lazyImage.naturalWidth > 0) { lazyImage.onload(); } lazyImageObserver.unobserve(lazyImage); } }); }, { root: null, rootMargin: '50px 0px', threshold: 0.01 }); lazyImages.forEach(function (lazyImage) { lazyImageObserver.observe(lazyImage); }); } });