PageSourceSearch

https://www.tv-tokyo.co.jp/tbcms/javascripts/banners.js

js tv-tokyo.co.jp collected 2026-10-01 08:38:15 UTC 10,756 bytes, 1 lines download raw bytes

1(()=>{"use strict";const t=(t,e)=>{const s=t.length,n=e.length;let c=new Array(s+n);for(let e=0;e<s;e++)c.length<t[e].fix?c.push(t[e]):c[t[e].fix-1]=t[e];e=(t=>{for(let e=t.length-1;e>0;e--){const s=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[s],t[s]=n}return t})(e);for(let t=0,a=0;t<s+n;t++)c[t]||(c[t]=e[a++]);return c},e=()=>{let t="/tbcms/assets/images";return"localhost"===location.hostname?t="/assets/images":"cmspreview.tv-tokyo.co.jp"===location.hostname&&0===location.pathname.indexOf("/design/")&&(t="/design/assets/images"),t},s=window.matchMedia("(min-width:1199px)"),n=()=>!1===s.matches,c=function(t){let e,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:40,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"loop",c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"ticker";c=`tbcmsMarqueeFrame${c}`,t&&(e=t.innerHTML);const a=()=>{if(window[c]&&cancelAnimationFrame(window[c]),t){window[c]&&(t.style.transform="");const a=t.parentElement;if(a){let i,r,l=null,o=1;const m=e=>{let a=!1;null==l&&(l=e);const r=(e-l)/1e3*s;r>i?("loop"===n||n>o)&&(l=null,o++,a=!0):a=!0;const d=i-r-i;t.style.transform=`translate3d(${d}px, 0, 0)`,a&&(window[c]=requestAnimationFrame(m))};t.innerHTML=e,setTimeout((()=>{if(i=t.clientWidth,r=a.clientWidth,i>r){if("loop"===n){const s=1+Math.ceil(r/i);for(let n=0;n<s;n++)t.innerHTML+=e}window[c]=requestAnimationFrame(m)}}),1e3)}}};a(),window.addEventListener("resize",(t=>{a()}))};let a;a=window.tbcmsPreviewTime?window.tbcmsPreviewTime:window.tx_time?new Date(parseInt(window.tx_time.year,10),parseInt(window.tx_time.month,10)-1,parseInt(window.tx_time.day,10),parseInt(window.tx_time.hour,10),parseInt(window.tx_time.minutes,10)).getTime()/1e3:(new Date).getTime()/1e3;const i=()=>a,r=t=>{(e=>{const s="tbcmsTickerClosed",n="tbcmsTickerClosedAt",a=i(),r=6048e5,l=(()=>{let t;return t=window.tbcmsPreviewTime?window.tbcmsPreviewTime-(new Date).getTime()/1e3:0,t})();if(!(t=>{if(Object.keys(t).length<=0)return!1;let e=localStorage.getItem(s);if(e&&e===t.key){let t=localStorage.getItem(n);if(t){if(a<t/1e3)return!1}else t=1e3*a+r,localStorage.setItem(n,t)}if(document.querySelectorAll("meta[name=txportal]").length>0)return!0;const c=t.blacklist;let i,l="0"===(window.txcms||{}).adtype;if(c.ad&&l)return!1;let o=document.querySelectorAll("meta[name=txgenre]");if(c.genre.length>0&&o.length>0&&(i=!1,o.forEach((t=>{if(c.genre.indexOf(t.content)>=0)return i=!0,!1})),i))return!1;let m=document.querySelector("meta[name=txid]"),d=!1;if(m)d=m.content;else{let t=document.getElementById("tbcms_main-program");if(t){let{program:e}=t.dataset;e&&(d=parseInt(e.replace(/[^0-9]/g,""),10))}}if(d){const t=-1!==location.href.indexOf("bs-tvtokyo.co.jp")||-1!==location.href.indexOf("broad_bstvtokyo")?c.bspg:c.pg;if(t.length>0&&t.indexOf(d)>=0)return!1}if(c.url.length>0){i=!1;for(let t=c.url.length-1;t>=0;t--)if(location.href.indexOf(c.url[t])>=0){i=!0;break}if(i)return!1}return!0})(t))return!1;let o=!1,m="tbcms_ticker--1",d=t.data.text,_='  <p class="tbcms_ticker__count"></p>';t.data.countdown?a<t.data.time?o=!0:(m="tbcms_ticker--2",d=t.data.textafter,_='  <p class="tbcms_ticker__count">POWER PUSH</p>'):(m="tbcms_ticker--2",_='  <p class="tbcms_ticker__count">POWER PUSH</p>');let g="";if(t.data.url){let e=`ticker_${t.data.event}`,s=`${e}_close`,n=`onclick="ga('send', 'event', 'Link', 'Click', '${e}')"`;g=`onclick="ga('send', 'event', 'Link', 'Click', '${s}')"`,window.gtag&&(n=`onclick="gtag('event', 'Click', {['event_category': 'Link'], ['event_label': '${e}']})"`,g=`onclick="gtag('event', 'Click', {['event_category': 'Link'], ['event_label': '${s}']})"`),d=[`  <a class="tbcms_ticker__message" href="${t.data.url}" target="${t.data.tgt}" ${n}>`,`    <span class="tbcms_ticker__message-text">${d}</span></a>`].join("")}else d=['  <p class="tbcms_ticker__message" >',`    <span class="tbcms_ticker__message-text">${d}</span></p>`].join("");const b=e(['<div class="tbcms_ticker">',_,d,`  <button class="tbcms_ticker__close" ${g}><div class="tbcms_ticker__close-icon"></div></button></div>`].join(""));e("body").addClass("tbcms_state--ticker").append(b),o&&((t,e)=>{if(t.length<=0)return t;const s=e.data.time,n=e.data.textafter;let a=setInterval((()=>{i(t)}),1e3),i=t=>{const e=(new Date).getTime()/1e3+l;let i,r=1e3*(s-e);if(r>1e3){let e=864e5,s=r%e,n=Math.floor(r/e),c=Math.floor(s/36e5),a=Math.floor(s/6e4)%60,l=Math.floor(s/1e3)%60%60;i="あと",n>0&&(i+="<span>"+n+"</span>日"),(n>0||c>0)&&(i+="<span>"+("0"+c).slice(-2)+"</span>時間"),i+="<span>"+("0"+a).slice(-2)+"</span>
1分",i+="<span>"+("0"+l).slice(-2)+"</span>秒",t.find(".tbcms_ticker__count").html(i).fadeIn()}else{const e=t.get(0);e.classList.remove("tbcms_ticker--1"),e.querySelector(".tbcms_ticker__count").innerHTML="POWER PUSH",e.querySelector(".tbcms_ticker__message-text").innerHTML=n,e.classList.add("tbcms_ticker--2"),c(e.querySelector(".tbcms_ticker__message-text")),clearInterval(a)}}})(b,t),e(document).on("click",".tbcms_ticker__close",(c=>{c.preventDefault(),b.fadeOut("slow"),e("body").removeClass("tbcms_state--ticker"),localStorage.setItem(s,t.key);let a=1e3*i()+r;localStorage.setItem(n,a)})),b.get(0).classList.add(m),c(b.get(0).querySelector(".tbcms_ticker__message-text"))})(tbcms$)},l=()=>{tbcmsUIkit.svg(document.querySelectorAll("img.tbcms_svg:not([hidden])"))},o=window.tbcmsPreviewBannersJson||`${location.origin}/tbcms/assets/data/banners.json`.replace("stg-preview-bsj","stg-preview-tx").replace("bs-tvtokyo.co.jp","tv-tokyo.co.jp").replace(".api.bs-tvtokyo.co.jp",".api.tv-tokyo.co.jp");fetch(o).then((t=>t.json())).then((s=>{var c;(t=>{const s=document.querySelector(".js-alert-high");if(s){const n=e();let c="";t&&t.length?(t.forEach((t=>{c+=`\n          <div class="tbcms_alert__inner">\n            <a class="tbcms_alert__link" href="${t.url}" target="${t.target}">\n              <img class="tbcms_alert__icon tbcms_svg" data-src="${n}/icon--alert.svg">\n              <div class="tbcms_alert__box">\n                <div class="tbcms_alert__title">${t.title}</div></div></a></div>\n          `})),s.insertAdjacentHTML("beforeend",c),l(),s.removeAttribute("hidden")):s.remove()}})(s.alert1),(t=>{const s=document.querySelector(".js-alert-middle");if(s){const n=e();let c="";t&&t.length?(t.forEach((t=>{c+=`\n          <div class="tbcms_alert__inner">\n            <a class="tbcms_alert__link" href="${t.url}" target="${t.target}">\n              <img class="tbcms_alert__icon tbcms_svg" data-src="${n}/icon--alert.svg">\n              <div class="tbcms_alert__box">\n                <div class="tbcms_alert__title">${t.title}</div>\n                <div class="tbcms_alert__text">${t.description}</div></div></a></div>\n          `})),s.insertAdjacentHTML("beforeend",c),l(),s.removeAttribute("hidden")):s.remove()}})(s.alert2),(t=>{const s=document.querySelector(".js-alert-low");if(s){const n=e();let c="";t&&t.length?(t.forEach((t=>{c+=`\n          <a class="tbcms_alert__link" href="${t.url}" target="${t.target}">\n            <img class="tbcms_alert__icon tbcms_svg" data-src="${n}/icon--alert.svg">\n            <div class="tbcms_alert__box">\n              <div class="tbcms_alert__title">${t.title}</div></div></a>\n          `})),s.insertAdjacentHTML("beforeend",`\n          <div class="tbcms_alert__inner">\n            <div class="tbcms_alert__list">\n              ${c}</div></div>\n        `),l(),s.removeAttribute("hidden")):s.remove()}})(s.alert3),(t=>{const e=document.getElementById("tbcms_cmsbanners--jack");if(e){const s=n()?t.smp:t.pc;if(s.length>0){const t=Math.floor(Math.random()*s.length);e.removeAttribute("hidden"),e.insertAdjacentHTML("beforeend",[`<a href="${s[t].url}" target="${s[t].tgt}" class="tbcms_jack__link lazyload">`,`  <img class="lazyload tbcms_jack__image" data-src="${s[t].img}" alt=""></a>`].join(""))}else e.remove()}})(s.jack),(e=>{const s=document.querySelector(".js-banner-top-pickup");if(s){const n=t(e.f,e.r).slice(0,3);let c="";n.length&&(n.forEach((t=>{c+=`\n          <li class="tbcms_pickup__item">\n            <a class="tbcms_pickup__link" href="${t.url}" target="${t.tgt}">\n              <div class="tbcms_pickup__image">\n                <img data-src="${t.img}" alt="${t.alt}"></div>\n              <div class="tbcms_pickup__meta">\n                <div class="tbcms_pickup__title">${t.title}</div>\n                <div class="tbcms_pickup__description">${t.text}</div></div></a></li>\n          `})),s.insertAdjacentHTML("beforeend",`\n          <h2 class="tbcms_pickup__heading">ピックアップ</h2>\n          <ul class="tbcms_pickup__list">${c}</ul>\n        `))}})(s.topPickup),(e=>{const s=document.querySelector(".js-banner-fan-header");if(s){const c=t(e.f,e.r);if(c.length){const t=c[0],e=n()?t.smpImg:t.img,a=`\n          <a class="tbcms_fan__header-banner" href="${t.url}" target="${t.tgt}">\n            <img data-src="${e}" alt="${t.alt}"></a>\n        `;s.insertAdjacentHTML("beforeend",a)}}})(s.fanHeader),(e=>{const s=document.querySelector(".js-banner-fan-pickup");if(s){const n=t(e.f,e.r).slice(0,3);let c="";n.length&&(n.forEach((t=>{c+=`\n          <li class="tbcms_pickup__item">\n            <a class="tbcms_pickup__link" href="${t.url}" target="${t.tgt}">\n              <div class="tbcms_pickup__image">\n                <img data-src="${t.img}" alt="${t.alt}"></div>\n              <div class="tbcms_pickup__meta">\n                <div class="tbcms_pickup__title">${t.title}</div>\n                <div class="tbcms_pickup__description">${t.text}</div></div></a></li>\n          `})),s.insertAdjacentHTML("beforeend",`\n          <ul class="tbcms_pickup__list">${c}</ul>\n        `))}})(s.fanPickup),c=s.right,(e=>{const s=document.getElementById("tbcms_cmsbanners--right");if(s){s.innerHTML="";const n=t(c.f,c.r);let a="";for(let t=0;t<n.length;t++)t<3&&n[t]&&(a+=['<div class="tbcms_ad-block__items">',`  <a class="js-footer-banner--right" href="${n[t].url}" target="${n[t].tgt}">`,`    <img class="lazyload" data-src="${n[t].img}" width="300" height="100"></a></div>`].join(""));s.insertAdjacentHTML("beforeend",a),e(s).trigger("tbcms.ready")}})(tbcms$),(e=>{(s=>{const n=document.getElementById("tbcms_cmsbanners--small");
1if(n){n.innerHTML="";const s=t(e.f,e.r);let c="";for(let t=0;t<Math.min(s.length,5);t++)s[t]&&(c+=`<li class="tbcms_banner__item">\n              <a class="js-footer-banner--small" href="${s[t].url}" target="${s[t].tgt}">\n                <img class="lazyload" data-src="${s[t].img}"' width="185" height="50"></a></li>`);n.insertAdjacentHTML("beforeend",c),n.dispatchEvent(new Event("tbcms.ready"))}})(tbcms$)})(s.small),document.body.classList.contains("tbcms_contents--plus")||r(s.ticker)})).catch((t=>{console.error("TXCMS: ERROR: banners loader failed",t)}))})();

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.