20 tipů, jak přežít Velikonoce

4. 4. 2014

Sdílet

Autor: Isifa.cz
Proč už teď? Pokud si chcete na svátky dopřávat, neuškodí na to tělo trochu připravit. Máme pro vás dvacítku tipů, které pomohou Velikonoce přežít ve zdraví a s energií.

Velikonoce jsou pro mnohé svátky alkoholu a nekonečného hodování. Pohybu je ovšem málo a váha i obvod pasu rychlostí blesku narůstají. Pojďte si Velikonoce užít ve zdraví a s energií. Mám pro vás dvacet tipů, jak na to.

1. Připravte tělo na Velikonoce

Před svátky doporučuji v předstihu (cca deset až čtrnáct dní) podpořit očistu svého těla, hlavně střev. Konzumujte každý den po ránu sklenici teplejší vody s několika kapkami citronové šťávy se dvěma až třemi lžícemi rozemletého lněného semínka. Udělejte k tomu několik dřepů a kroutících pohybů. A během dne hodně pijte a více choďte. To podpoří pročištění střev.

2. I játra chtějí nastartovat 

Pro játra a spalování tuků je skvělý lecitin s vitaminem E a taky vitamíny řady B komplexu. Určitě užívejte přírodní formy, u B komplexu například pivovarské kvasnice.

3. Prolijte tělo živinami

Doporučuji zakoupit si odšťavňovač a dělat si alespoň týden před Velikonocemi každý den šťávy. Úžasná je tato kombinace: kousek brokolice, červené řepy, celeru, mrkve, papriky, okurky, stroužek česneku a kousíček bílé a červené cibule, přidat trochu zázvoru. Jiná alternativa je zajít do obchodu zdravé výživy a zakoupit tam zeleninové šťávy, nejlépe tzv. kvašené, případně vícedruhové zeleninové. Pokud každý den vypijete alespoň 4 dcl, uvidíte, jak se budete cítit a že vaše tělo bude velmi spokojené.

4. Na Velikonoce kupujte hlavně kvalitní čokoládu

Čokoláda s obsahem alespoň 70 % kakaa je blahodárná díky obsahu antioxidantů a hořčíku. Po normální čokoládě budete rychle tloustnout a taky podpoříte rozvoj plísní a parazitů ve svém těle.

5. K hlavnímu jídlu zeleninu

Vždy konzumujte jídlo (i velikonoční vajíčka) s porcí zeleniny, semínek a celozrnných potravin. Pak vám nebude kolísat hladina krevního cukru, nebudete zatěžovat slinivku břišní a nebudete tloustnout.

6. Vajíčka kupujte nejlépe domácí

Případně si vybírejte v obchodě ta, která nesou označení „z podestýlky“.

7. Zkuste mlsat zdravě

Dají se koupit i celozrnné muffiny, koláčky, dezerty. Navštivte obchody se zdravou výživou a vyberte si. Existují tyčinky v tzv. „raw“ kvalitě, různé ovesné sušenky s přidaným kokosovým máslem a třtinovým cukrem. Váš pas, váha i zdraví to ocení.

8. O pomlázku se rozdělte

O Velikonocích se většinou doma „nasyslí“ mnoho čokolády, delikates a pamlsků. Pokud si je necháte doma, bude vás to lákat a většinou je otázkou času, kdy to vše sníte. Doporučuji vzít je po Velikonocích do práce a podělit se s nimi s ostatními.

9. Jezte malé porce čokolády

Z výzkumů vyplývá, že lidé, kteří jedí pravidelně menší množství čokolády, mají menší nadváhu než ti, kteří jedí nárazově velké porce. Pokud si už musíte dát čokoládu, dejte si k tomu vždy trochu ovoce.

10. Pomozte si ovocem a skořicí

Pokud máte velkou chuť na sladké, udělejte si menší ovocný salát, posypte skořicí a uvidíte, jak si pochutnáte. Skořice povzbudí váš imunitní systém a ještě vám bude připadat, že jíte sladké.

11. Nezapomeňte na proteiny

Proteinový koktejl bez umělých sladidel (jako je aspartam, acesulfam, sucraloza) smíchejte s kakaovým práškem a vychutnejte si skvělý nápoj. Bude zdravý, chutný a pomůže vašemu metabolismu, aby byl zaměřen na svalovou hmotu a ne na nabírání tuku. Hodí se jako svačina nebo jako druhá večeře.

12. Udělejte si během dne teplé kakao

Zlepšuje náladu, obsahuje mnoho hořčíku a draslíku a je blahodárné pro vaše cévy a srdce. Kakaem si můžete polít celozrnný dortík nebo koláč a posypat je chia semínky nebo rozemletými lněnými semínky.

13. Nemějte za prohřešky výčitky

Velikonoce jsou typické pro konzumaci velkého množství čokolády a jiných sladkostí. Nevyčítejte si to. Pokud dva nebo tři dny zhřešíte, nic se neděje. Důležité je být v pohodě a psychicky se nestresovat. Pak zase vše doženete a nějaké to kilo zdravou stravou, pohybem a detoxikací shodíte.

14. I při mlsání myslete pozitivně

Když už mlsat, nemyslete na to, že děláte chybu a že po tom přiberete. To, na co myslíte, se pak děje. Když už jíte něco sladkého nebo nezdravého, říkejte si, že máte zdravé tělo, rychlý metabolismus, všechny tuky i cukry spálíte, takže je vše v pořádku.

15. Uzeniny ano, ale se zeleninou

Nejvíce se (nejen o Velikonocích) prokazatelně přibírá po uzeninách a salámech. Pokud už je musíte či prostě chcete jíst, dejte si k nim dostatečné množství zeleniny – nejlépe ve stejné nebo větší hmotnosti než je daná uzenina.

16. Chlebíčky můžou být i zdravé

Bez obložených chlebíčků by Velikonoce ani nemohly být. Co ale třeba vyzkoušet letos jejich zdravou variantu? Celozrnnou bagetu rozkrojte jako plátek veky, namažte ji kozím sýrem, přidejte trochu tofu nebo tempehu, obložte zeleninou, posypejte rozemletým lněným nebo konopným semínkem a nakonec přidejte mandle, kešu nebo para ořechy.

17. Choďte, choďte, choďte

I když je o Velikonocích běžné pití velkého množství alkoholu a obrovské hodování, najděte si vždy po jídle chvilku a běžte na procházku. Pohyb pomůže trávení a váš metabolismus se povzbudí.

18. Kokosové máslo je malý zázrak

Během příprav delikates ochutnejte kokosové máslo (nebo kokosový olej, který je v tuhém stavu). Je to úžasně chutné a tento tuk se neukládá do vašich tukových zásob. Využívá se jako okamžitý zdroj energie.

19. Pravidelně během dne jezte

Pokud budete mít velké pauzy mezi jídly, pak budete jíst s velkým hladem a sníte velké množství pokrmů.

20. Očistná kúra nade vše

Nejlépe a nejrychleji zabírá vynechávání masa na tři až pět dnů. Zařaďte do svého jídelníčku mnoho tepelně upravené zeleniny – hlavně té kořenové, jako je celer, červená řepa, mrkev, ale nebojte se ani jiného typu zeleniny, například brokolice, a nešetřete na cibuli ani česneku.

Tak trochu jiný velikonoční beránek

Suroviny:

  • 200 g celozrnné žitné mouky
  • 80 g pohankové mouky
  • 250 g tempehu
  • 1,5 dcl jablečného moštu
  • 150 g sladěnky (slad ječmenný)
  • 150 g tuku (rostlinné máslo Alsan nebo kokosový olej)
  • 70 g oříšků (kešu, mandle, paraořechy, vlašské)
  • 20 g semínek (slunečnicové, rozemleté lněné)
  • 70 g sušeného ovoce (předem namočit) jako jsou meruňky, hrozinky, švestky, datle, fíky)
  • Na ozdobení: Poleva z karobu a kokos

Tempeh nakrájíme na větší kostky a dáme do hrnce, přidáme jablečný mošt. Vaříme 15 – 20 minut. Tempeh s vodou, ve které se vařil, rozmixujeme dohladka. To samé uděláme se sladěnkou a tukem a spojíme s tempehem. Zapracujeme celozrnnou a pohankovou mouku, přidáme semínka a nakrájené sušené ovoce. Důkladně promícháme a necháme deset minut odpočinout. Těsto by mělo být spíše hustší. Formu vymažte tukem, vysypejte moukou, vlijte těsto a pečte na 170 °C: 45 minut přiklopené a patnáct minut odklopené. Ozdobit beránka můžete polevou z karobu (koupíte ve zdravé výživě) a nakonec ho posypat kokosem.

Autor článku

Ing. Martin Škába, výživový specialista, zabývá se personalizovanou výživou u dospělých, sportovců, dětí i seniorů. Specializuje se na firemní workshopy a Dny zdraví. Propojuje staré stravovací zvyklosti s nejmodernějšími výzkumy v oblasti výživy.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).
'; document.getElementById('outstream-iframe').onload = function () { setupIframe(); } replayScreen = document.getElementById('iinfoOutstreamReplay'); iinfoOutstreamPosition = document.getElementById('iinfoOutstreamPosition'); outstreamContainer = document.getElementsByClassName('outstream-container')[0]; setupReplayScreen(); } function setupIframe() { outstreamDocument = document.getElementById('outstream-iframe').contentWindow.document; let el = outstreamDocument.createElement('style'); outstreamDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:-5px;right:25px}"; videoContent = outstreamDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; if ( location.href.indexOf('rejstriky.finance.cz') !== -1 || location.href.indexOf('finance-rejstrik') !== -1 || location.href.indexOf('firmy.euro.cz') !== -1 || location.href.indexOf('euro-rejstrik') !== -1 || location.href.indexOf('/rejstrik/') !== -1 || location.href.indexOf('/rejstrik-firem/') !== -1) { outstreamDirectPlayed = true; soundAllowed = true; iinfoVastUrlIndex = 0; } if (!outstreamDirectPlayed) { console.log('OUTSTREAM direct'); setUpIMA(true); } else { if (soundAllowed) { const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('OUTSTREAM sound allowed'); setUpIMA(false); }).catch(function () { console.log('OUTSTREAM sound forbidden'); renderBanner(); }); } } else { renderBanner(); } } } function getWrapper() { let articleWrapper = document.querySelector('.rs-outstream-placeholder'); // Outstream Placeholder from RedSys manipulation if (articleWrapper && articleWrapper.style.display !== 'block') { articleWrapper.innerHTML = ""; articleWrapper.style.display = 'block'; } // Don't render OutStream on homepages if (articleWrapper === null) { if (document.querySelector('body.p-index')) { return null; } } if (articleWrapper === null) { articleWrapper = document.getElementById('iinfo-outstream'); } if (articleWrapper === null) { articleWrapper = document.querySelector('.layout-main__content .detail__article p:nth-of-type(6)'); } if (articleWrapper === null) { // Euro, Autobible, Zdravi articleWrapper = document.querySelector('.o-article .o-article__text p:nth-of-type(6)'); } if (articleWrapper === null) { articleWrapper = document.getElementById('sidebar'); } if (!articleWrapper) { console.error("Outstream wrapper of article was not found."); } return articleWrapper; } function setupDimensions() { outstreamWidth = Math.min(iinfoOutstreamPosition.offsetWidth, 480); outstreamHeight = Math.min(iinfoOutstreamPosition.offsetHeight, 320); } /** * Sets up IMA ad display container, ads loader, and makes an ad request. */ function setUpIMA(direct) { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); if (direct) { adsRequest.adTagUrl = directVast; console.log('Outstream DIRECT CAMPAING advert: ' + directVast); videoContent.muted = true; videoContent.volume = 0; outstreamDirectPlayed = true; } else { adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Outstream advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; } // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = outstreamWidth; // adsRequest.linearAdSlotHeight = outstreamHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function setupReplayScreen() { replayScreen.addEventListener('click', function () { iinfoOutstreamPosition.remove(); iinfoVastUrlIndex = 0; outstreamInit(); }); } /** * Sets the 'adContainer' div as the IMA ad display container. */ function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. outstreamDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( outstreamDocument.getElementById('adContainer'), videoContent); } function unmuteAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } } /** * Loads the video content and initializes IMA ad playback. */ function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(outstreamWidth, outstreamHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } /** * Handles the ad manager loading and sets ad event listeners. * @param { !google.ima.AdsManagerLoadedEvent } adsManagerLoadedEvent */ function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } /** * Handles actions taken in response to ad events. * @param { !google.ima.AdEvent } adEvent */ function onAdEvent(adEvent) { // Retrieve the ad from the event. Some events (for example, // ALL_ADS_COMPLETED) don't have ad object associated. const ad = adEvent.getAd(); console.log('Outstream event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: // This is the first event sent for an ad - it is possible to // determine whether the ad is a video ad or an overlay. if (!ad.isLinear()) { // Position AdDisplayContainer correctly for overlay. // Use ad.width and ad.height. videoContent.play(); } outstreamDocument.getElementById('adContainer').style.width = '100%'; outstreamDocument.getElementById('adContainer').style.maxWidth = '640px'; outstreamDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); // This event indicates the ad has started - the video player // can adjust the UI, for example display a pause button and // remaining time. if (ad.isLinear()) { // For a linear ad, a timer can be started to poll for // the remaining time. intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } outstreamDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (outstreamLastError === 303) { if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } } break; case google.ima.AdEvent.Type.COMPLETE: // This event indicates the ad has finished - the video player // can perform appropriate UI actions, such as removing the timer for // remaining time detection. if (ad.isLinear()) { clearInterval(intervalTimer); } if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } break; } } /** * Handles ad errors. * @param { !google.ima.AdErrorEvent } adErrorEvent */ function onAdError(adErrorEvent) { // Handle the error logging. console.log(adErrorEvent.getError()); outstreamLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { renderBanner(); } } function renderBanner() { if (isBanner) { console.log('Outstream: Render Banner'); iinfoOutstreamPosition.innerHTML = ""; iinfoOutstreamPosition.style.height = "330px"; iinfoOutstreamPosition.appendChild(bannerDiv); } else { console.log('Outstream: Banner is not set'); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoOutstreamPosition.remove(); outstreamInit(); } else { return false; } adVolume = 1; return true; } /** * Pauses video content and sets up ad UI. */ function onContentPauseRequested() { videoContent.pause(); // This function is where you should setup UI for showing ads (for example, // display ad timer countdown, disable seeking and more.) // setupUIForAds(); } /** * Resumes video content and removes ad UI. */ function onContentResumeRequested() { videoContent.play(); // This function is where you should ensure that your UI is ready // to play content. It is the responsibility of the Publisher to // implement this function when necessary. // setupUIForContent(); } function onActiveView() { if (outstreamContainer) { const containerOffset = outstreamContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (outstreamPaused) { adsManager.resume(); outstreamPaused = false; } return true; } else { if (!outstreamPaused) { adsManager.pause(); outstreamPaused = true; } } } return false; } let outstreamInitInterval; if (typeof cpexPackage !== "undefined") { outstreamInitInterval = setInterval(tryToInitializeOutstream, 100); } else { const wrapper = getWrapper(); if (wrapper) { let outstreamInitialized = false; window.addEventListener('scroll', () => { if (!outstreamInitialized) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { outstreamInit(); outstreamInitialized = true; } } }); } } function tryToInitializeOutstream() { const wrapper = getWrapper(); if (wrapper) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { if (cpexPackage.adserver.displayed) { clearInterval(outstreamInitInterval); outstreamInit(); } } } else { clearInterval(outstreamInitInterval); } } }
OSZAR »