【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

Đất và người Khu 7 > Ký ức chiến tranh, cuộc sống thời bình

Thứ sáu, 22/05/2026, 21:59 (GMT+7)
667 lượt xem

Giao lưu truyền thống Cơ quan Hội Phụ nữ giải phóng Khu Đông Nam Bộ

(QK7 Online) – Tối ngày 22/5, Hội Liên hiệp Phụ nữ tỉnh Tây Ninh phối hợp với Sư đoàn 5 tổ chức chương trình giao lưu truyền thống Cơ quan Hội Phụ nữ giải phóng Khu Đông Nam Bộ lần thứ XXVI - năm 2026. Dự chương trình có đồng chí Đặng Thị Ngọc Thịnh, nguyên Phó Chủ tịch nước CHXHCN Việt Nam; Anh hùng LLVTND Phan Thị Út; các đồng chí nguyên lãnh đạo các ban, bộ, ngành Trung ương, các tỉnh, thành phố; Đại tá Huỳnh Việt Lê Kha, Sư đoàn trưởng Sư đoàn 5; Đại tá Trần Hoàng Giang, Chính ủy Sư đoàn 5 cùng các đại biểu nguyên là thành viên Hội Phụ nữ giải phóng khu Đông Nam Bộ qua các thời kỳ.
Đồng chí Đặng Thị Ngọc Thịnh, nguyên Phó Chủ tịch nước CHXHCN Việt Nam (thứ 4 từ bên trái) cùng các đại biểu dự chương trình giao lưu truyền thống.
Đại tá Trần Hoàng Giang, Chính ủy Sư đoàn 5 cùng các đại biểu dự chương trình giao lưu truyền thống.
Trong chương trình giao lưu, các đại biểu được thưởng thức nhiều tiết mục văn nghệ đặc sắc, được dàn dựng công phu, tái hiện sinh động truyền thống vẻ vang của Quân đội, đơn vị và hình ảnh cao đẹp, giàu đức hy sinh của các Mẹ Việt Nam Anh hùng. Những lời ca, điệu múa do cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số Sư đoàn 5 biểu diễn đã để lại nhiều cảm xúc sâu lắng, góp phần tạo nên không khí ấm áp, thắm tình đoàn kết quân dân.
Tiết mục “Bài ca may áo” ca ngợi vẻ đẹp người phụ nữ Việt Nam trong kháng chiến.
Không khí ấm áp, thân tình tại chương trình giao lưu truyền thống.
Xem phim truyền thống của Sư đoàn 5 và phim truyền thống của Hội Liên hiệp Phụ nữ Việt Nam, các đại biểu xúc động và thêm tự hào về truyền thống vẻ vang của lực lượng vũ trang và phụ nữ Việt Nam. Những thước phim chân thực đã tái hiện sinh động tinh thần chiến đấu kiên cường, sự hy sinh to lớn và những đóng góp quan trọng của các thế hệ cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số Sư đoàn 5 cũng như của các mẹ, các chị trong sự nghiệp đấu tranh giải phóng dân tộc, xây dựng và bảo vệ Tổ quốc.
Buổi giao lưu truyền thống đong đầy cảm xúc qua những câu chuyện của các má, các dì một thời mưa bom, bão đạn.
Qua những câu chuyện của các má, các dì, bộ đội thêm tự hào về truyền thống cách mạng của dân tộc.
Trong không khí xúc động của buổi gặp mặt truyền thống, những chia sẻ của các thành viên Hội Phụ nữ giải phóng khu Đông Nam Bộ đã gợi lại ký ức về một thời tuổi xuân cống hiến cho cách mạng, vượt qua bom đạn, gian khổ và mất mát để giữ trọn niềm tin với Tổ quốc. Những câu chuyện thấm đẫm sự hy sinh ấy đã khơi dậy niềm tự hào, lòng biết ơn sâu sắc đối với những người phụ nữ Việt Nam anh hùng.
Các đại biểu tham dự chương trình giao lưu truyền thống.
Khép lại chương trình giao lưu, những câu chuyện chân thật của các má, các dì đã để lại nhiều xúc động sâu sắc, góp phần giáo dục truyền thống yêu nước, tinh thần cách mạng cho cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số Sư đoàn 5. Qua đó, tiếp thêm động lực để thế hệ hôm nay tiếp tục phát huy phẩm chất “Bộ đội Cụ Hồ”, ra sức học tập, rèn luyện, hoàn thành tốt mọi nhiệm vụ được giao.
Bạch Thiết, Ngọc Tuân

Bình luận

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

Hội thảo đề nghị truy tặng danh hiệu Anh hùng LLVT Nhân dân

Hội thảo đề nghị truy tặng danh hiệu Anh hùng LLVT 123Win79 phần thưởng lớn

07:50 25/11/2025

(QK7 Online) - Ngày 24/11, Bộ CHQS tỉnh Tây Ninh tổ chức hội thảo nhân chứng lịch sử, hoàn chỉnh hồ sơ đề nghị truy tặng danh hiệu Anh hùng LLVT 123Win79 phần thưởng lớn thời kỳ kháng chiến đối với Liệt sĩ Nguyễn Công Mẹo, nguyên 99Oke123 Tải ứng dụng viên phó Đại đội 1, Tiểu đoàn 16 - Phân khu 2, tỉnh Long An (nay là tỉnh Tây Ninh). Đại tá Nguyễn Như Trúc, Phó Chủ nhiệm 99Oke123 Tải ứng dụng Quân khu dự, chỉ đạo hội thảo. Đại tá Nguyễn Thanh Phong, Chính ủy Bộ CHQS tỉnh chủ trì hội thảo.

Hội đồng Thi đua, khen thưởng Quân khu 7 bình xét đề nghị phong tặng danh hiệu Anh hùng Lực lượng vũ trang nhân dân

Hội đồng Thi đua, khen thưởng ĐĂNG NHẬP 99OK COM TẶNG 99K bình xét đề nghị phong tặng danh hiệu Anh hùng Lực lượng vũ trang 123Win com 79 nạp - rút nhanh

20:40 19/11/2025

(QK7 Online) - Ngày 19/11, Hội đồng Thi đua, khen thưởng (TĐKT) ĐĂNG NHẬP 99OK COM TẶNG 99K tổ chức Hội nghị bình xét đề nghị phong tặng danh hiệu Anh hùng Lực lượng vũ trang 123Win com 79 nạp - rút nhanh (LLVTND). Thiếu tướng Trần Vinh Ngọc, Bí thư Đảng ủy, Chính ủy Quân khu, Chủ tịch Hội đồng TĐKT Quân khu chủ trì hội nghị.

​Tỉnh Tây Ninh tổ chức Lễ truy điệu và an táng 156 hài cốt liệt sĩ quân tình nguyện Việt Nam hy sinh tại Campuchia

​Tỉnh Tây Ninh tổ chức Lễ truy điệu và an táng 156 hài cốt liệt sĩ quân tình nguyện Việt Nam hy sinh tại Campuchia

12:40 18/07/2025

(QK7 Online) – Sáng 18/7, tại Nghĩa trang Liệt sĩ Vĩnh Hưng – Tân Hưng, tỉnh Tây Ninh long trọng tổ chức Lễ viếng, truy điệu và an táng 156 hài cốt liệt sĩ. Buổi lễ do Tỉnh ủy, HĐND, UBND, Ủy ban MTTQ Việt Nam tỉnh Tây Ninh chủ trì, thể hiện đạo lý “Uống nước nhớ nguồn”, tấm lòng tri ân sâu sắc của 123 Win 88ok trang chủ chính thức, Trang game 123win đã chính thức đổi tên thành 99Ok vào ngày 10 Tháng 2 Năm 2025 và quân và 123Win79 phần thưởng lớn tỉnh đối với những người đã ngã xuống vì hòa bình, độc lập dân tộc.

Tọa đàm trao đổi kinh nghiệm về phương pháp nghiên cứu văn thư lưu trữ phục vụ công tác tìm kiếm, quy tập hài cốt liệt sĩ

Tọa đàm trao đổi kinh nghiệm về phương pháp nghiên cứu văn thư lưu trữ phục vụ công tác tìm kiếm, quy tập hài cốt liệt sĩ

11:31 14/07/2025

(QK7 Online) – Ngày 14/7, tại TPHCM đã diễn ra buổi tọa đàm trao đổi kinh nghiệm về phương pháp nghiên cứu văn thư lưu trữ nhằm phục vụ công tác tìm kiếm, quy tập hài cốt liệt sĩ. Chương trình do Văn phòng Ban Chỉ đạo Quốc gia 515; Thường trực Ban Chỉ đạo 515 ĐĂNG NHẬP 99OK COM TẶNG 99K và Văn phòng Tùy viên Quốc phòng Hoa Kỳ đồng chủ trì.

Đưa 89 hài cốt liệt sĩ an nghỉ trong lòng đất mẹ

Đưa 89 hài cốt liệt sĩ an nghỉ trong lòng đất mẹ

08:06 28/06/2025

(QK7 Online) – Chiến tranh đã lùi xa, nhưng vết thương lịch sử thì vẫn còn và nỗi đau của những người mẹ, người cha, người vợ, người con chưa từng biết mộ phần người thân vẫn chưa nguôi ngoai. Chính vì thế, mỗi hài cốt liệt sĩ được quy tập, mỗi nắm đất được đưa về là một hành động thiêng liêng, là một lời nhắn gửi ân tình của các thế hệ hôm nay đối với thế hệ đi trước. Trong lòng đất mẹ quê hương Việt Nam nghĩa tình sẽ mãi mãi là nơi các anh an nghỉ trong lòng 123Win com 79 nạp - rút nhanh trọn vẹn thủy chung.

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