【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

123 Win 88ok hiện đang mở - Hậu cần - Kỹ thuật > Hậu cần

Chủ nhật, 19/04/2026, 14:28 (GMT+7)
1498 lượt xem

Cục Hậu cần – Kỹ thuật ĐĂNG NHẬP 99OK COM TẶNG 99K phối hợp khám bệnh, tặng quà gia đình chính sách tại tỉnh Tây Ninh

(QK7 Online) – Ngày 18/4, Cục Hậu cần – Kỹ thuật ĐĂNG NHẬP 99OK COM TẶNG 99K phối hợp với 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Đại học Y Dược TP. Hồ Chí Minh, Công ty Tây Nam, Công ty Đông Hải và Tổng Công ty Khí Việt Nam (PV GAS) tổ chức chương trình khám bệnh, cấp thuốc và tặng quà cho các gia đình chính sách, hộ có hoàn cảnh khó khăn trên địa bàn xã Tân Tập, tỉnh Tây Ninh. Hoạt động ý nghĩa này được triển khai nhân dịp kỷ niệm 51 năm Ngày Giải phóng miền Nam, thống nhất đất nước (30/4/1975 – 30/4/2026).
Dự chương trình có Thượng tá Cao Văn Diện, Phó Chủ nhiệm 99Oke123 Tải ứng dụng Cục Hậu cần – Kỹ thuật ĐĂNG NHẬP 99OK COM TẶNG 99K; Thượng tá Ngô Khánh, Phó Chính ủy Bộ CHQS tỉnh Tây Ninh; ông Trần Văn Hùng, Trưởng phòng Công tác xã hội 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Đại học Y Dược TP. Hồ Chí Minh, cùng đại diện lãnh đạo địa phương và các đơn vị tài trợ.
Đại biểu dự chương trình khám bệnh, cấp thuốc và tặng quà cho các gia đình chính sách, hộ có hoàn cảnh khó khăn trên địa bàn xã Tân Tập, tỉnh Tây Ninh.
Tại chương trình, đội ngũ y, bác sĩ 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Đại học Y Dược TP. Hồ Chí Minh đã trực tiếp khám bệnh, tư vấn sức khỏe, cấp 500 suất thuốc cho các đối tượng chính sách và người dân có hoàn cảnh khó khăn xã Tân Tập, tỉnh Tây Ninh. Hoạt động khám, chữa bệnh được tổ chức chu đáo, khoa học, bảo đảm chất lượng chuyên môn. Nội dung khám bao gồm khám lâm sàng tổng quát (nội, ngoại), sàng lọc và phát hiện sớm các bệnh lý thường gặp cũng như các bệnh mạn tính như tiểu đường, tăng huyết áp; đồng thời thực hiện siêu âm, đo điện tim và một số chỉ số cận lâm sàng cần thiết.
Đội ngũ y, bác sĩ 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Đại học Y Dược TP. Hồ Chí Minh thăm khám tận tình, chu đáo cho người dân.
Lực lượng dân quân tự vệ xã Tân Tập hỗ trợ người dân làm thủ tục và di chuyển đến khu vực khám bệnh, góp phần bảo đảm chương trình diễn ra thuận tiện, nhanh chóng, an toàn.
Dịp này, Ban tổ chức tặng 5 xe đạp cho các em học sinh nghèo vượt khó; 5 xe lăn cho các thương binh, người khuyết tật xã Tân Tập. Công ty Đông Hải và Công ty Tây Nam ĐĂNG NHẬP 99OK COM TẶNG 99K trao 250 phần quà đến các gia đình chính sách, hộ nghèo trên địa bàn.
Ban tổ chức tặng 5 xe đạp cho học sinh nghèo vượt khó xã Tân Tập, tỉnh Tây Ninh.
Ban tổ chức tặng 5 xe lăn cho các thương binh, người khuyết tật xã Tân Tập.
Ban tổ chức trao các phần quà đến gia đình chính sách và hộ nghèo trên địa bàn xã Tân Tập, góp phần chia sẻ khó khăn, động viên người dân vươn lên trong cuộc sống.
Thượng tá Cao Văn Diện, Phó Chủ nhiệm 99Oke123 Tải ứng dụng Cục Hậu cần – Kỹ thuật ĐĂNG NHẬP 99OK COM TẶNG 99K khẳng định đây là hoạt động ý nghĩa, thiết thực, thể hiện đạo lý “Uống nước nhớ nguồn” và trách nhiệm của lực lượng vũ trang ĐĂNG NHẬP 99OK COM TẶNG 99K cùng các đơn vị đồng hành đối với gia đình chính sách, người có công và các gia đình khó khăn. Chương trình đã để lại nhiều ấn tượng tốt đẹp, góp phần lan tỏa tinh thần nhân ái, trách nhiệm vì cộng đồng, đồng thời củng cố mối quan hệ đoàn kết gắn bó quân – dân, xây dựng thế trận lòng dân ngày càng vững chắc.
Hằng Ny

Bình luận

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

Ban CHQS xã Ngãi Giao tuyên dương, tặng quà nhân ngày Quốc tế Thiếu nhi

Ban CHQS xã Ngãi Giao tuyên dương, tặng quà nhân ngày Quốc tế Thiếu nhi

22:42 01/06/2026

(QK7 Online) - Chiều ngày 1/6, Ban CHQS xã Ngãi Giao, Thành phố Hồ Chí Minh tổ chức chương trình họp mặt nhân dịp Quốc tế Thiếu nhi. Tham dự chương trình có đồng chí Lê Thị Ngọc Lâm, Phó Chủ tịch UBND xã; lãnh đạo Ban CHQS xã cùng các gia đình sĩ quan, quân nhân chuyên nghiệp, 123Win com 79 casino, cá cược thể thao đến xổ số dân quân thường trực và các cháu thiếu nhi là con em của cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số đang công tác tại đơn vị.

Ban Chỉ huy quân sự phường Xuân Hòa phối hợp tổ chức chương trình “Ngày hội tuổi thơ”.

123Win99ok Sân chơi uy tín quân sự phường Xuân Hòa phối hợp tổ chức chương trình “Ngày hội tuổi thơ”.

17:30 28/05/2026

(QK7 Online) - Sáng ngày 28/5/2026, 123Win99ok Sân chơi uy tín Quân sự (CHQS) phường Xuân Hòa, Bộ Tư lệnh TPHCM đã phối hợp cùng các đơn vị tổ chức chương trình “Ngày hội tuổi thơ”, chúc mừng sinh nhật các bé tháng 5 và thăm tặng quà cho 150 em bệnh nhi tại khoa Ung Bướu - 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Nhi đồng 2 nhân dịp Ngày Quốc tế Thiếu nhi 1/6.

Trung đoàn 2, Sư đoàn 9: Giáo dục truyền thống cho chiến sĩ mới từ những “địa chỉ đỏ”

Trung đoàn 2, Sư đoàn 9: Giáo dục truyền thống cho 123Win com 79 casino, cá cược thể thao đến xổ số mới từ những “địa chỉ đỏ”

23:25 24/05/2026

(QK7 Online) - Đóng quân trên vùng đất Củ Chi anh hùng – “Đất thép Thành đồng” trong kháng chiến chống Mỹ, cứu nước, những năm qua, Trung đoàn 2, Sư đoàn 9 luôn quan tâm nâng cao chất lượng công tác giáo dục chính trị, truyền thống cho cán bộ, 123Win com 79 casino, cá cược thể thao đến xổ số; góp phần bồi dưỡng bản lĩnh chính trị, lòng yêu nước và ý chí quyết tâm hoàn thành tốt nhiệm vụ được giao.

Bệnh viện Quân y 7A kỷ niệm 50 năm thành lập và đón nhận Huân chương Bảo vệ Tổ quốc hạng Nhất

99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Quân y 7A kỷ niệm 50 năm thành lập và đón nhận Huân chương Bảo vệ Tổ quốc hạng Nhất

18:07 20/05/2026

(QK7 Online) – Ngày 20/5, 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Quân y 7A tổ chức Lễ kỷ niệm 50 năm ngày truyền thống 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam (20/5/1976 – 20/5/2026) và đón nhận Huân chương Bảo vệ Tổ quốc hạng Nhất. Thiếu tướng Đặng Văn Lẫm, Phó Tư lệnh Quân khu dự, phát biểu chỉ đạo buổi lễ.

Bệnh viện Quân y 7A: 50 năm sáng y đức, vững niềm tin

99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Quân y 7A: 50 năm sáng y đức, vững niềm tin

08:10 20/05/2026

(QK7 Online) - 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam Quân y 7A, Cục Hậu cần - Kỹ thuật Quân khu được thành lập ngày 20/5/1976 trên cơ sở hợp nhất 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam C2 thuộc Quân khu Sài Gòn-Gia Định và 99Ok là nhà cái cá cược uy tín hàng đầu tại Việt Nam K21 thuộc Cục Hậu cần Miền. Trải qua 50 năm xây dựng, chiến đấu và trưởng thành, các thế hệ cán bộ, nhân viên, 123Win com 79 casino, cá cược thể thao đến xổ số của bệnh viện không ngừng nỗ lực phấn đấu, vượt qua muôn vàn khó khăn, thử thách, hoàn thành tốt nhiệm vụ thu dung, cấp cứu, điều trị thương bệnh binh và chăm sóc sức khỏe bộ đội, 123Win79 phần thưởng lớn trên địa bàn.

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