PageSourceSearch

https://rs.vtcnews.vn/js/pc/menuresponsive?v=13041

js vtcnews.vn collected 2026-10-02 03:55:37 UTC 13,275 bytes, 16 lines download raw bytes

1(function(){if(!window.VTC_MENU_GUARD){window.VTC_MENU_GUARD=!0;var t=document.querySelector("body").getAttribute("data-api"),n={init:function(){n.loadDataMenu();n.loadSearchTrend()},loadDataMenu:function(){var u=document.querySelector("body").getAttribute("data-cachemenu"),r="",i;try{r=localStorage.getItem("vszc")}catch(f){}i=new XMLHttpRequest;i.open("GET",t+"/Misc/GetDataMenuZone",!0);i.setRequestHeader("Content-Type","application/x-www-form-urlencoded");i.onreadystatechange=function(){if(i.readyState==4&&i.status==200){let t=JSON.parse(this.responseText);n.loadData(t);n.initMenuTab()}};i.send("&vr="+r)},loadData:function(t){var r=document.querySelectorAll(".zone-menu"),i;for(let r=0;r<t.DataZoneMenu.DataZoneMenu.length;r++){let u=t.DataZoneMenu.DataZoneMenu[r],f=u.ZoneCode;if(f!=="menu_tab_pc"&&f!=="menu_ex_pc"&&f!=="zone_sub_menu_mobile"){let e=document.querySelector('.zone-menu[data-zone="'+f+'"]');if(e)if(u.Html!=null&&u.Html.length>10)e.innerHTML=u.Html;else{let t=u.Type,f=n.getThemeZoneItem(t);e.innerHTML+=f;let r=e.querySelector(".zone-append");if(r&&u.ListParent)for(let f=0;f<u.ListParent.length;f++){let e=u.ListParent[f];i=document.createElement("div");let o=n.getThemeZoneItemFist(t).replaceAll("{{link}}",e.Link).replaceAll("{{name}}",e.Name).replaceAll("{{title}}",e.Name).replaceAll("{{cate}}",e.CateId);o=e.Link&&(e.Link.includes("gioi-thieu/intro.htm")||e.Link.includes("mailto:[email protected]"))?o.replaceAll("{{relAttr}}",'rel="nofollow"'):o.replaceAll("{{relAttr}}","");i.innerHTML=o;e.IsSearchChild==1&&n.initZoneChild(t,e.ListChild,i);r.appendChild(i.firstChild)}}}}try{localStorage.setItem("list_menu",JSON.stringify(t.DataZoneMenu.ListMenu));localStorage.setItem("list_zone_menu",JSON.stringify(t.DataZoneMenu.DataZoneMenu));localStorage.setItem("vszc",t.DataZoneMenu.DataVr)}catch(u){}n.initEvent()},initZoneChild:function(t,i,r){let u=r.querySelector(".zone-child");if(t==2){for(let t=0;t<i.length;t++){let r=i[t],f='<li class="mb5{{class}}"> <a href="{{link}}" class="gray-51 font13" title="{{title}}">{{name}}<\/a> <\/li>',e="";t>4&&(e=" menu-hide hide");f=f.replaceAll("{{link}}",r.Link).replaceAll("{{name}}",r.Name).replaceAll("{{title}}",r.Name).replaceAll("{{class}}",e);u.appendChild(n.getElm(f))}if(u.querySelector(".menu-hide")!=null){let t=r.querySelector(".zone-parent");t.appendChild(n.getElm('<a class="gray-51 font13 underline cursor blue-vne view-more-menu" title="xem thêm">Xem thêm<\/a>'))}}else if(t==8)for(let t=0;t<i.length;t++){let r=i[t],f='<li class="menu-tab child-menu" data-cate="{{cate}}" data-name="{{name}}" data-link="{{link}}"><\/li>';f=f.replaceAll("{{link}}",r.Link).replaceAll("{{name}}",r.Name).replaceAll("{{title}}",r.Name).replaceAll("{{cate}}",r.CateId);u.appendChild(n.getElm(f))}},initMenuTab:function(){var n,i,r;const u=(n,t)=>n.filter(n=>n.CateId==t),f=(n,t)=>n.filter(n=>n.ParentId==t);if(document.querySelector('.zone-menu[data-zone="menu_tab_pc"]')!=undefined){let n=document.querySelector(".tt_category_id");if(n!=null){let i=document.querySelector('.zone-menu[data-zone="menu_tab_pc"]'),r=n.getAttribute("value"),u=n.getAttribute("content"),t=i.querySelector('.menu-tab[data-cate="'+r+'"]');if(t!=undefined){window.location.pathname!=="/"&&t.querySelector("a.white").classList.add("active");let r=document.createElement("ul");r.setAttribute("class","ms-sub-navigation uppercase lh-35 font11 semibold clearfix ul-set-menu");let n=document.querySelector(".ul-set-menu");n.classList.remove("hide");let i=n.querySelector('.menu-tab[data-cate="'+u+'"]');i!=undefined&&i.querySelector("a").classList.add("active")}}}let t=document.querySelector("input.id-category");if(!document.querySelector('.zone-menu[data-zone="zone_sub_menu_mobile"] .ul-set-menu')&&t!=undefined&&t.getAttribute("data-id")!=""){let f=document.querySelector('.zone-menu[data-zone="zone_sub_menu_mobile"]'),e=t.getAttribute("data-id"),u=f.querySelector('.menu-tab[data-cate="'+e+'"]');if(u!=undefined)if(n=f.querySelector(".ul-set-menu"),u.classList.contains("parent-menu")){let f=u.getAttribute("data-name"),e=u.getAttribute("data-link"),t='<li class="pl5 mr10"><a href="/" class="pl10 pr10 tc bold"><svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="21" height="21" style="vertical-align: -6px;" viewBox="0 0 38 35" preserveAspectRatio="xMidYMid meet"><g transform="translate(0,35) scale(0.1,-0.1)" fill="#515151" stroke="none"><path d="M105 244 c-44 -40 -76 -73 -71 -74 5 0 42 27 82 60 l73 60 67 -60 c61 -54 84 -69 84 -56 0 6 -96 97 -130 124 l-26 20 -79 -74z"/><path d="M122 212 l-52 -47 0 -62 0 -63 39 0 c39 0 40 1 43 37 3 33 7 38 31 41 26 3 27 1 27 -38 l0 -41 43 3 42 3 3 60 3 60 -55 48 c-30 26 -58 47 -63 47 -4 0 -32 -22 -61 -48z"/><\/g><\/svg><\/a><\/li><li class="pr5"><h2><a href="{{link}}" title="{{name}}" class=" gray-51 font14 pl10 pr10">{{name}}<\/a><\/h2><\/li><li class="next-menu icon-right-mb"><\/li>';t=t.replaceAll("{{name}}",f).replaceAll("{{link}}",e);n.innerHTML=t;i=u.querySelectorAll("li");r=n.lastChild;
1i.forEach(function(t){let f=t.getAttribute("data-name"),e=t.getAttribute("data-link"),u=document.createElement("ul"),i='<li class="sub-cates-item-2 relative"><a href="{{link}}" class="bg-white pl20 pr20 radius-3">{{name}}<\/a><\/li>';i=i.replaceAll("{{name}}",f).replaceAll("{{link}}",e);u.innerHTML=i;n.insertBefore(u.firstChild,r)})}else{let i="",h=t.getAttribute("data-h1"),r=u.closest(".parent-menu"),f=u.getAttribute("data-name"),e=u.getAttribute("data-link"),o=r.getAttribute("data-name"),s=r.getAttribute("data-link");i=i.replaceAll("{{name-c}}",f).replaceAll("{{link-c}}",e).replaceAll("{{name-p}}",o).replaceAll("{{link-p}}",s);n.innerHTML=i}}},initEvent:function(){var t=document.querySelector(".btn-menu-other"),f,e,i,r,o;t!=null&&t.addEventListener("click",function(n){n.preventDefault();n.stopImmediatePropagation();const i=document.querySelector('.zone-menu[data-zone="menu_ex_pc"]');if(i){let r=i.querySelector(".box-other-menu");if(r)r.remove(),t.classList.remove("active");else{const u=JSON.parse(localStorage.getItem("list_zone_menu"))||[],r=u.find(n=>n.ZoneCode==="menu_ex_pc");if(!r||!r.ListParent)return;let n=`
2                    <div class="ms-menu abs20 shadow-box transition-ef w-full clearfix box-other-menu bg-white pt20">
3                        <div class="w-full mg-auto all-catelink row zone-append menu-ex-pc">
4                `;r.ListParent.forEach(t=>{n+=`
5                        <div class="w-20-100 fl pl25 mb20 zone-parent">
6                            <a href="${t.Link}" class="cate-mt-link bold relative" title="${t.Name}" style="margin-left: -23px;">
7                                <img src="${window.DOMAIN_RESOURCE}/Content/icons/arrow-down.svg" 
8                                     class="lazy bicon-arrow-down-svg" loading="lazy" width="16" height="16" />
9                                ${t.Name}
10                            </a>
11                            <ul class="mt10 zone-child">
12                    `;let i=!1;
12t.ListChild&&t.ListChild.length&&t.ListChild.forEach((t,r)=>{let u=r>4?"menu-hide":"";r>4&&(i=!0);n+=`<li class="mb5 ${u}"><a href="${t.Link}" class="gray-51 font13" title="${t.Name}">${t.Name}</a></li>`});n+=`</ul>`;i&&(n+=`<a class="gray-51 font13 underline cursor blue-vne view-more-menu">Xem thêm</a>`);n+=`</div>`});n+=`
13                        </div>
14                        <div class="cursor opacity-07 w-full h1k bg-black overlay-menu"></div>
15                    </div>
16                `;i.innerHTML=n;t.classList.add("active")}}});document.addEventListener("click",function(n){if(n.target.classList.contains("overlay-menu")){const n=document.querySelector('.zone-menu[data-zone="menu_ex_pc"]'),t=document.querySelector(".btn-menu-other");n&&(n.innerHTML="");t&&t.classList.remove("active")}});const s=document.querySelector('.zone-menu[data-zone="menu_ex_pc"]');if(s&&s.addEventListener("click",function(n){if(n.target.classList.contains("view-more-menu")){let t=n.target.closest(".zone-parent");t&&t.querySelectorAll(".menu-hide").forEach(n=>n.classList.toggle("hide"));n.target.textContent=n.target.textContent.trim()==="Xem thêm"?"Thu gọn":"Xem thêm"}}),f=document.getElementsByClassName("ac-menu")[0],e=document.getElementsByTagName("body")[0],f!=undefined&&f.addEventListener("click",()=>{e.classList.toggle("show_menu")}
16),i=document.getElementsByClassName("cl-menu"),i!=undefined)for(r=0;r<i.length;r++)i[r].addEventListener("click",()=>{e.classList.toggle("show_menu")});o=document.querySelector(".next-menu");o!=null&&o.addEventListener("click",function(){document.querySelector(".div-scroll").scrollLeft+=50});const u=document.querySelector(".h38.sticky-scroll");if(u){const t=u.offsetTop,n=()=>{window.scrollY>=t?u.classList.add("fixed"):u.classList.remove("fixed")};window.addEventListener("scroll",n);n()}const n=document.createElement("button");n.id="scrollUpBtn";n.innerHTML="↑";document.body.appendChild(n);window.addEventListener("scroll",function(){n.style.display=window.scrollY>200?"flex":"none"});n.addEventListener("click",function(){window.scrollTo({top:0,behavior:"smooth"})})},getThemeZoneItem:function(n){let t;switch(n){case 2:t='<div class="ms-menu abs20 shadow-box transition-ef w-full clearfix hide box-other-menu bg-white pt20"><div class="w-full mg-auto all-catelink row zone-append menu-ex-pc"><\/div><div class="cursor opacity-07 w-full h1k bg-black overlay-menu"><\/div><\/div>';break;case 3:t='<div class="uppercase bold lh-40 menu-ex-bot grid zone-append"><\/div>';break;case 4:t='<ul class="tc font12 lh-38 uppercase setlast-li zone-append"> <\/ul>';break;case 5:t='<ul class="lh0 clearfix bg-red"> <li class="fl"><a class="btn-menu h40 w40 lh-40 cl-menu"><img src="'+window.DOMAIN_RESOURCE+'/Content/icons/icon-close-white.svg" width="28" height="28" class="lazy ics-cancel font22 bold" loading="lazy" style="vertical-align:-10px;" /><\/a><\/li> <li class="lh0 m-auto logo-ex"><a class="logo-img pd5" href="/"><\/a><\/li> <\/ul> <ul class="addon-feather gray-51 tl pd10 bor-4bot-e5 font16 clearfix"> <li class="fl w50-100 pl5 pr5 lh0"><a class="w-full borbot-d9-doted gray-71 lh-45 ellipsis btn-sharefb" href="javascript:;"><img src="'+window.DOMAIN_RESOURCE+'/Content/icons/icon-share.svg" class="lazy" loading="lazy" width="15" height="15" style="margin-right:5px; vertical-align:-1px;" />Chia sẻ trang<\/a><\/li> <li class="fl w50-100 pl5 pr5 lh0"><a class="w-full borbot-d9-doted gray-71 lh-45 ellipsis" href="/main-rss.html"><img src="'+window.DOMAIN_RESOURCE+'/Content/icons/icon-signal.svg" class="lazy" loading="lazy" width="16" height="16" class="mr5" style="margin-right:5px; vertical-align:-1px;" />RSS<\/a><\/li> <\/ul> <ul class="menu-pagelink pd10 bor-4bot-e5 tl uppercase clearfix opensans-semibold zone-append" id="ul_ex"> <\/ul> <a class="close-menu cursor tc opensans-semibold radius-circle pt10 pb10 w33-100 mt20 bg-gray-e5 gray-51 cl-menu"><img src="'+window.DOMAIN_RESOURCE+'/Content/icons/icon-close-circle.svg" class="lazy" loading="lazy" width="14" height="14" class="mr2" style="margin-right:5px; vertical-align:-2px;" />Đóng<\/a>';break;case 6:break;case 7:t='<aside id="footer-category" class="bor-4top-e5 is-footer"> <div class="main pt15 pb15 clearfix"> <ul class="uppercase clearfix opensans-semibold zone-append"><\/ul> <\/div> <\/aside>';break;default:t=""}return t},getThemeZoneItemFist:function(n){let t;switch(n){case 2:t='<div class="w-20-100 fl pl25 mb20 zone-parent"><a href="{{link}}" class="cate-mt-link bold relative" title="{{title}}"><img src="'+window.DOMAIN_RESOURCE+'/Content/icons/arrow-down.svg" class="lazy icon-arrow-down-svg" loading="lazy" style="margin-right:2px; margin-top:-3px;" width="16" height="16" />{{name}}<\/a><ul class="mt10 zone-child"><\/ul><\/div>';break;case 3:t='<div class="font13 borbot-e0-doted"> <a class="break-word" href="{{link}}" title="{{title}}">{{name}}<\/a> <\/div>';break;case 4:t='<li class="inline relative"><a class="nav-link white pl10 pr10" href="{{link}}" title="{{title}}" {{relAttr}}>{{name}}<\/a><\/li>';break;case 5:t='<li class="fl w50-100 pl5 pr5 lh0"> <a class="w-full borbot-d9-doted gray-51 lh-45 ellipsis" href="{{link}}" title="{{title}}">{{name}}<\/a><\/li>';break;case 6:t='<li><a class="pl10 pr10 tc bold gray-51" href="{{link}}" title="{{title}}">{{name}}<\/a><\/li>';break;case 7:t='<li class="fl w50-100 pl5 pr5 lh0"><h4><a class="w-full borbot-d9-doted lh-40 ellipsis" href="{{link}}" title="{{title}}">{{name}}<\/a><\/h4><\/li>';break;default:t="<div><\/div>"}return t},getElm:function(n){var t=document.createElement("div");return t.innerHTML=n,t.firstChild},loadSearchTrend:function(){let n=new XMLHttpRequest;n.open("GET",t+"/SearchTrend/GetSearchTrendJson",!0);n.setRequestHeader("Content-Type","application/x-www-form-urlencoded");n.onreadystatechange=function(){if(n.readyState==4&&n.status==200){let n=JSON.parse(this.response);if(n.data!=null){var t=document.getElementById("load_search_trend");t&&n.data.forEach(function(n){let r=document.createElement("li");r.className="inline relative last";let i=document.createElement("a");i.className="tag-link pl5 pr5";i.href=n.trendLink;i.target="_blank";i.rel="noreferrer";i.title=n.name;i.textContent=n.name;r.appendChild(i);t.appendChild(r)})}}};n.send()}};n.init()}})()

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.