1/* ============================================================================= 2 NHÃNG VIDEO YOUTUBE KIá»U "BẤM Má»I TẢI" (2026-08-12) 3 Cặp vá»i: QIWEB_BO/Base/HtmlBuild.cs â TagIframeEmbederYoutube 4 5 Máy chá»§ chá» in ảnh Äại diá»n video (~10â20 KB) kèm nút phát. Bấm và o thì tá»p nà y má»i chèn khung 6 nhúng tháºt kèm `autoplay=1`, nên vẫn Äúng Má»T cú bấm như khung nhúng cÅ© (khung cÅ© cÅ©ng phải bấm nút 7 phát), mà ngưá»i không xem thì không phải tải ~1 MB script cá»§a Google. 8 9 Dùng uá»· quyá»n sá»± kiá»n á» `document` nên chạy ÄÆ°á»£c cả vá»i khá»i video nạp SAU (bÄng trượt, tab, htmx). 10 ========================================================================== */ 11(function () { 12 'use strict'; 13 14 function chenKhung(nut) { 15 var ma = nut.getAttribute('data-qi-video'); 16 if (!ma) return; 17 18 var khung = document.createElement('iframe'); 19 khung.className = 'embed-responsive-item'; 20 khung.setAttribute('src', 21 'https://www.youtube.com/embed/' + encodeURIComponent(ma) + '?autoplay=1&rel=0'); 22 khung.setAttribute('title', nut.getAttribute('title') || 'Video'); 23 khung.setAttribute('allow', 24 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture'); 25 khung.setAttribute('allowfullscreen', 'allowfullscreen'); 26 khung.setAttribute('frameborder', '0'); 27 28 var cha = nut.parentNode; 29 if (cha) cha.replaceChild(khung, nut); 30 } 31 32 document.addEventListener('click', function (e) { 33 var nut = e.target && e.target.closest ? e.target.closest('.qi-video-mo') : null; 34 if (!nut) return; 35 e.preventDefault(); 36 chenKhung(nut); 37 }); 38 39 // Bà n phÃm: thẻ Äã là <button> nên Enter/Space tá»± phát ra 'click'. Không cần xá» lý thêm â 40 // ghi ra Äây Äá» lần sau khá»i thêm trùng. 41})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.