UNPKG

@slashedcloud/player

Version:

A media player application utilizing Shaka Player for adaptive video streaming, capable of playing HLS, MPD and plain HTTP video streams.

7 lines (6 loc) 3.77 kB
var y=Object.defineProperty;var f=(n,d,a)=>d in n?y(n,d,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[d]=a;var m=(n,d,a)=>f(n,typeof d!="symbol"?d+"":d,a);var b=(n,d,a)=>new Promise((i,s)=>{var h=e=>{try{t(a.next(e))}catch(o){s(o)}},l=e=>{try{t(a.throw(e))}catch(o){s(o)}},t=e=>e.done?i(e.value):Promise.resolve(e.value).then(h,l);t((a=a.apply(n,d)).next())});/*! * SlashedCloud v0.1.2 (https://github.com/SlashedCloud/player#readme) * Copyright 2024-2024 rogerio.jardim@fedrax.pt * Licensed under Apache (https://github.com/SlashedCloud/player/blob/develop/LICENSE) */this.SlashedCloudPlayer=this.SlashedCloudPlayer||{};this.SlashedCloudPlayer.AdBlockDetector=function(){"use strict";var n=document.createElement("style");n.textContent=`.shaka-adblock-detected .shaka-modal{background:#000c;position:absolute;top:0;z-index:1000;width:100%;height:100%;display:none}.shaka-adblock-detected .shaka-modal.active{display:flex;flex-direction:column;align-items:center;justify-content:center}.shaka-adblock-detected .shaka-modal .shaka-modal-dialog{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#000;padding:1rem;background:#fff;border-radius:.25rem;max-width:50%;max-height:50%;overflow:none}.shaka-adblock-detected .shaka-modal .shaka-modal-content>*{color:#000}.shaka-adblock-detected .shaka-modal .shaka-ads{width:100px;text-align:center;margin:15px auto}.shaka-adblock-detected .shaka-modal .shaka-ads h3{font-size:30px;font-weight:700;background:transparent;border:4px dotted rgb(250,49,35);border-radius:50%;text-align:center;color:#fa3123;padding:27px 0;font-family:inherit;margin:auto}.shaka-adblock-detected .shaka-modal .shaka-ads .material-icons-round{float:right;font-size:20px;margin:0 0 0 -20px;color:#fa3123;background:#fff;border-radius:50%;padding:5px 6px 5px 8px} `,document.head.appendChild(n);class d{constructor(t){m(this,"player");this.player=t}}var a={};Object.defineProperty(a,"__esModule",{value:!0});var i=a.AdblockDetector=void 0;class s{constructor(){this.bannerIds=["AdHeader","AdContainer","AD_Top","homead","ad-lead"],this.init()}init(){if(!this.isBrowser()){console.error("Detection on server side is not supported. Please use library only on client side.");return}const t=document.createElement("div");t.innerHTML=this.generatesBannersString(),document.body.append(t)}detect(){return this.isBrowser()?!this.bannerIds.every(t=>this.checkVisibility(t)):!1}generatesBannersString(){return this.bannerIds.map(t=>`<div id="${t}"></div>`).join("")}checkVisibility(t){const e=document.querySelector(`#${t}`);return e?e.offsetParent:null}isBrowser(){return typeof window!="undefined"}}i=a.AdblockDetector=s;class h extends d{constructor(e){super(e);m(this,"name","AdBlockDetectorPlugin")}setup(){return b(this,null,function*(){if(!new i().detect())return;this.player.container.classList.add("shaka-adblock-detected");const r=document.createElement("div");r.classList.add("shaka-modal","active");const u=document.createElement("div");u.classList.add("shaka-modal-dialog");const c=document.createElement("div");c.classList.add("shaka-modal-content");const p=document.createElement("div");p.classList.add("shaka-ads"),p.innerHTML='<i class="material-icons-round">error</i><h3>Ads</h3>';const k=document.createElement("h3");k.textContent=this.local("DISABLE_ADBLOCKER","Please disable your ad blocker!"),c.appendChild(p),c.appendChild(k),u.appendChild(c),r.appendChild(u),this.player.once("ready",this.onReady.bind(this,r))})}onReady(e){this.player.container.innerHTML=this.player.videoElement.outerHTML,this.player.container.appendChild(e),this.player.emit("adBlockDetected")}local(e,o){if(!this.player.localization)return o;const r=this.player.localization.resolve(e);return r||o}}return h}();