【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"

Chủ nhật, 18/05/2025, 16:30 (GMT+7)
5775 lượt xem

Cảnh giác âm mưu xuyên tạc lấy ý kiến sửa đổi Hiến pháp năm 2013

(QK7 Online) - Ngày 5/5/2025, Chủ tịch Quốc hội Trần Thanh Mẫn, Chủ tịch Ủy ban dự thảo sửa đổi, bổ sung một số điều của Hiến pháp năm 2013 đã ký ban hành Kế hoạch số 05 tổ chức lấy ý kiến Nhân dân, các ngành, các cấp về dự thảo 99Oke được xếp hạng cao nhất sửa đổi, bổ sung một số điều của Hiến pháp nước Cộng hòa XHCN Việt Nam năm 2013. Việc lấy ý kiến được đông đảo quần chúng Nhân dân ủng hộ và tích cực tham gia. Tuy nhiên, các thế lực thù địch, bọn cơ hội chính trị lại lợi dụng việc lấy ý kiến để tuyên truyền, kích động chống phá.

Lấy ý kiến người dân về nội dung sửa đổi, bổ sung một số điều của Hiến pháp năm 2013 trên ứng dụng VNeID.
 
Kể từ khi thành lập nước Việt Nam Dân chủ Cộng hòa - nay là nước Cộng hòa XHCN Việt Nam đến nay, nước ta đã có 5 bản Hiến pháp, đó là Hiến pháp năm 1946, 1959, 1980, 1992, 2013. Hiến pháp nước Cộng hòa XHCN Việt Nam được Quốc hội khóa XIII, kỳ họp thứ 6 thông qua ngày 28/11/2013, có hiệu lực từ ngày 01/01/2014. Sau hơn 11 năm thực hiện, bên cạnh những kết quả đạt được, việc thực hiện các quy định của Hiến pháp năm 2013 vẫn còn một số vấn đề cần tiếp tục hoàn thiện. Vì vậy, việc sửa đổi, bổ sung một số điều của Hiến pháp năm 2013 trong thời điểm hiện nay là hết sức cần thiết, tạo cơ sở hiến định cho việc thực hiện cuộc cách mạng về tinh gọn tổ chức bộ máy, xây dựng, hoàn thiện, nâng cao hiệu quả hoạt động của hệ thống chính trị.

Tuy nhiên, trong những ngày qua, một số tổ chức phản động như Việt Tân, đài VOA tiếng Việt, RFA… cũng như một số trang mạng xã hội của các tổ chức phản động trong và ngoài nước cố tình xuyên tạc, bóp méo quan điểm, chỉ đạo, định hướng của Đảng, Chính phủ, Quốc hội nước ta về việc nghiên cứu sửa đổi Hiến pháp năm 2013.

Thứ nhất, chúng lợi dụng lấy ý kiến về sửa đổi Hiến pháp để đưa ra đòi hỏi phi lý từ rất nhiều năm nay, đó là “đòi xóa bỏ Điều 4 Hiến pháp năm 2013”. Chúng “hô hoán” lên rằng: “Để đảm bảo quyền làm chủ của người dân thì Hiến pháp mới cần bỏ Điều 4”, “Sửa Hiến pháp: Yêu cầu bỏ Điều 4 để Nhân dân được tự do chính trị”. Những luận điệu này đã thể hiện rõ âm mưu chống phá của chúng và thực chất âm mưu này là đòi là xóa bỏ vai trò lãnh đạo, cầm quyền của Đảng Cộng sản Việt Nam, đòi đa nguyên, đa đảng…

Thứ hai, chúng xuyên tạc rằng “Chuyện sửa đổi Hiến pháp chẳng qua là trò mị dân” và việc lấy ý kiến Nhân dân về sửa đổi Hiến pháp chỉ là “Trò làm màu tốn thời gian”… Theo Điều 120 Hiến pháp 2013 quy định về việc sửa đổi Hiến pháp: “Ủy ban dự thảo Hiến pháp soạn thảo, tổ chức lấy ý kiến Nhân dân và trình Quốc hội dự thảo Hiến pháp”. Rõ ràng, việc sửa Hiến pháp sẽ phải tiến hành lấy kiến Nhân dân. Người dân ngoài việc được lấy ý kiến với quy trình tiến hành rất chặt chẽ, dân chủ, khách quan, còn được theo dõi phiên thảo luận tại Hội trường của Quốc hội về việc sửa đổi, bổ sung một số điều của Hiến pháp năm 2013 qua truyền hình, phát thanh trực tiếp. Không có chuyện “mị dân” trong việc sửa Hiến pháp và lấy ý kiến Nhân dân như những luận điệu xuyên tạc của các thế lực thù địch suy diễn trong những ngày qua.

Hiến pháp là đạo luật gốc, rất quan trọng của mỗi quốc gia và việc sửa đổi Hiến pháp chính là nhằm đáp ứng nhu cầu phát triển trong bối cảnh mới của đất nước. Việc sửa Hiến pháp để cải cách bộ máy, xây dựng chính quyền địa phương 2 cấp đang được Bộ Chính trị, Quốc hội, Chính phủ và các bộ ngành tiến hành khẩn trương, trách nhiệm, đúng quy trình, quy định. Vì vậy, trước những luận điệu xuyên tạc của các thế lực thù địch về sửa đổi Hiến pháp năm 2013, cán bộ, đảng viên và mỗi người dân cần hết sức cảnh giác, chủ động phòng ngừa, tích cực đấu tranh ngăn chặn kịp thời, không để chia rẽ khối đại đoàn kết dân tộc và gây hoang mang trong Nhân dân. 
Tấn Chí  

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.

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

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

15:44 03/04/2026

(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.

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.

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: 48458, 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); }); } });