【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ứ ba, 03/02/2026, 08:48 (GMT+7)
3361 lượt xem

Trung đoàn 4, Sư đoàn 5 giao lưu nhân chứng lịch sử

(QK7 Online) - Kỷ niệm 61 năm Ngày truyền thống Trung đoàn 4, Sư đoàn 5 (3/2/1965 - 3/2/2026), ngày 2/2, Trung đoàn 4 tổ chức chương trình Giao lưu nhân chứng lịch sử với các đồng chí nguyên là lãnh đạo, chỉ huy Trung đoàn qua các thời kỳ.
Tại chương trình, Thượng tá Nguyễn Mậu Hội, Chính ủy Trung đoàn đã ôn lại những trang sử hào hùng của đơn vị. Trải qua hơn 61 năm xây dựng, các thế hệ cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số Trung đoàn 4 đã vượt qua muôn vàn khó khăn, gian khổ, lập nhiều chiến công xuất sắc, góp phần quan trọng vào thắng lợi của sự nghiệp đấu tranh giải phóng dân tộc, thống nhất đất nước, bảo vệ vững chắc Tổ quốc Việt Nam xã hội chủ nghĩa và làm tròn nghĩa vụ quốc tế cao cả.
Cán bộ Trung đoàn 4 giao lưu với các nhân chứng lịch sử.
Trong phần giao lưu, cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số Trung đoàn 4 được nghe đồng chí Hồ Văn Tiên, nguyên Trung đoàn trưởng Trung đoàn 4 (1974–1975) chia sẻ về quá trình xây dựng, chiến đấu của đơn vị từ những ngày đầu thành lập đến những năm tháng chiến đấu ác liệt trong cuộc kháng chiến chống Mỹ, cứu nước; giao lưu với các cô, chú Thanh niên xung phong Đại đội 240 về trận đánh chốt Vườn Điều – Bàu Nâu ngày 20-12-1967; giao lưu cùng đồng chí Đại tá, Anh hùng LLVTND Nguyễn Văn Bình, nguyên Trung đoàn trưởng Trung đoàn 4 (2000–2002) chia sẻ về những năm tháng làm nhiệm vụ quốc tế tại Campuchia.
Chương trình là hoạt động chính trị – tư tưởng có ý nghĩa sâu sắc, nhằm tuyên truyền, giáo dục cho cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số về truyền thống vẻ vang của Trung đoàn; đồng thời tri ân những cống hiến, hy sinh to lớn của các thế hệ cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số trong sự nghiệp đấu tranh giải phóng dân tộc, thống nhất đất nước, xây dựng và bảo vệ Tổ quốc. Qua đó, tiếp tục bồi đắp niềm vinh dự, tự hào về truyền thống đơn vị hai lần được phong tặng danh hiệu Anh hùng Lực lượng vũ trang 123Win com 79 nạp - rút nhanh, tạo động lực để cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số hôm nay không ngừng phấn đấu, rèn luyện, hoàn thành tốt nhiệm vụ được giao.
Nguyễn Văn Tuấn

Bình luận

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

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

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

21:59 22/05/2026

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

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