Anna Strunecká: Jak přežít dobu jedovou

8. 10. 2013

Sdílet

Autor: Vitalia.cz / Ondřej Hošt
ROZHOVOR – Mnohé rady o zdraví a výživě posledních desetiletí dnes neplatí a považujeme je za blamáž. „Má varování budoucnost potvrdí,“ je přesvědčena autorka bestsellerů o „době jedové“.

Její názory názory jdou často proti proudu, odporují pohledům současné medicíny a osvěty. ANNA STRUNECKÁ však považuje za důležité informovat o možnostech prevence civilizačních onemocnění a upozorňovat na rizika moderní doby, spojená například s očkováním, konzumací léků či přídavných látek do potravin, ale i na úskalí některých alternativních metod. „Píši pouze o tom, čemu rozumím a pro co nacházím podklady v odborné literatuře. Nikoho nepřemlouvám, aby mi věřil, a svoje názory šířím pouze tam, kde jim lidé chtějí naslouchat,“ říká autorka řady populárních publikací. Právě teď vychází nejnovější z nich, kniha JAK PŘEŽÍT DOBU JEDOVOU.


Autor: Vitalia.cz / Ondřej Hošt

Anna Strunecká se v nové knize Jak přežít dobu jedovou? obrací na lidi, kteří berou zodpovědnost za své zdraví především do vlastních rukou

Ve vaší nové knize se objevuje řada témat, kterým jste se věnovala již v předchozích publikacích. V čem se Jak přežít dobu jedovou liší, co přináší nového?

Je pravda, že některá témata, jako je například problematika zdravotních rizik aspartamu a glutamátu, nadměrného příjmu fluoridů a hliníku nebo rizika očkování, se v mojí nové knížce objevují znovu, ale zpracovala jsem je právě jako odpovědi na kritiky mých názorů vyjádřených v předchozích publikacích. Na mnoha besedách, přednáškách a rozhlasových diskusích jsem pochopila, že je nutné znovu a lépe vysvětlovat a obhajovat mé názory, které nejsou vždy totožné s pohledy současné medicíny a zdravotnické osvěty nebo s názory v učebnicích. Problémů, se kterými se v současné době jedové setkáváme, je veliké množství a tak nebylo obtížné vybírat témata, kterým jsme se v předchozích knížkách s profesorem Jiřím Patočkou ještě nevěnovali. Příkladem mohou být umělá barviva, zdravotní rizika konzumace sóji nebo Coca-Coly, poznatky o prospěšném působení čokolády, o nebezpečí konzumace grapefruitů pro jejich interakci s léky, nebo rizika populárního MMS jako „léku na všechny nemoci“.

V druhé části své nové knížky jsem zpracovala poznatky, které by čtenářům mohly poradit zejména v prevenci některých fenoménů doby jedové a rozšířených chronických onemocnění. Pokouším se ukázat, že člověk by měl cítit zodpovědnost za své zdraví a nečekat na kouzelnou pilulku, kterou mu podá lékař a která odstraní nahromaděné problémy pramenící z jeho způsobu života. Jsou to například kapitoly O čem vypovídá stolice, Skryté světy v našem břiše nebo kapitoly o prevenci rakoviny, srdečně-cévních onemocnění, Alzheimerovy nemoci i autismu. Mnohá z mých doporučení nejsou v rozporu s pohledy současné medicíny, a tak se čtenářů ptám: „Že to všechno znáte? Tak proč to neděláte?“ Požádala jsem také MUDr. Miroslava Holuba o přiblížení možností, které může nabídnout celostní medicína.

Přečtěte si: Buď se chcete léčit, anebo uzdravit. Je to vaše volba, řítá Jan Hnízdil

V knize děkujete i svým kritikům. S jakým přijetím se setkaly vaše předchozí publikace a za co si oponenti zaslouží díky?

Každý vědec a autor by měl být vděčný za kritické připomínky. Naše poznání se neustále vyvíjí a neměli bychom setrvávat na žádných dogmatech. Každá konstruktivní diskuse je přínosná.

Setkala jste se s nějakou formou jednání, která by vám chtěla zabránit v šíření vašich názorů?

Setkala jsem se s formami kritiky, které nepovažuji za důstojné; někdy hraničí i s etikou a lidskou slušností. Výsledkem může být pouze to, že některé časopisy mohou odmítnout publikaci mého článku, urážky na webových stránkách se mě nedotýkají. Nepovažuji za věcnou kritiku, když někdo v médiích prohlásí: Nevím, jak na to paní profesorka přišla, nechápu, proč se touto problematikou zabývá ve svém seniorském věku, tato „dáma“ není kvalifikovaná, šíří bludy, extrémní názory ap. Ale já píši pouze o tom, čemu rozumím a pro co nacházím podklady v odborné literatuře. I proto jsem napsala svoji poslední knížku a mám to štěstí, že mám nakladatele, který se nebojí kritiky oponentů ani ztráty sponzorů. Nikoho nepřemlouvám, aby mi věřil, a svoje názory šířím pouze tam, kde jim lidé chtějí naslouchat. To, že se Doba jedová a Doba jedová 2 staly bestsellery nebo vysoký počet zhlédnutí našich různých videozáznamů, ukazují, že se tyto názory mezi veřejností šíří.

V knize uvádíte konkrétní příklady, kdy zkušenosti vaše i vašich čtenářů ukazují na zásadní neznalosti pracovníků kompetentních státních orgánů. Narážíte na podobný problém často?

Bohužel, je to dost obecný jev. Je mi především líto, když se s tím setkávám, a slušnost mi nedovolí analyzovat a zveřejňovat všechny ty veřejně vyřčené nesmysly. Když pracovník zodpovědný za bezpečnost potravin v rozhlasovém živém vysílání prohlásí, že umělá barviva se již v potravinách nepoužívají, zatímco se jich ročně vyrábějí miliony kilogramů, mezinárodní organizace o nich publikují rozsáhlé publikace, jsou jimi pokryté i tablety rozšířených léků a v mé knížce je například seznam potravin, ve kterých se používá briliantová modř, na dvou stránkách, asi není něco v pořádku. Smutné je, když zodpovědná pracovnice MZ ČR písemně uvádí, že mateřské mléko obsahuje milionkrát víc hliníku než je jeho skutečný obsah! Nebo když publikaci o tom, že aspartam vyvolává zvýšený výskyt rakoviny, zejména lymfomů a leukémií, uvede mluvčí potravinářské komise jako důkaz zdravotní nezávadnosti aspartamu. A tak bychom mohli pokračovat.

Jak si vysvětlujete, že jste – minimálně u nás – se svými názory dost osamocená? Ostatní vědci znají stejné práce jako vy, ale nepřikládají jim důležitost?

Občas tomu nerozumím. Když i CDC vydá zprávu, že očkování proti chřipce mělo u dospělých v USA v minulé sezóně 44–56% účinnost a u seniorů nad 65 let jenom 9%, a v našich médiích jsme opět ujišťováni, že očkování proti chřipce má u dospělých 90% účinnost a že dokonce zabrání úmrtnosti seniorů o 80 %, je to neznalost nebo úmyslné klamání veřejnosti? Nebo proč je očkování proti pneumokokům považováno za hlavní prioritu českého očkovacího programu pro dospělé, zatímco ve Velké Británii očkování důchodců proti pneumokokům zrušili, protože nefunguje? Já nevím, jestli všichni odborníci na veřejné zdraví čtou práce v Lancet Infectious Diseases nebo v jiných prestižních lékařských časopisech, ale pokud by je četli, nebudou psát že „nevědí, jak na to paní profesorka přišla“. Já také nemusím žádat o souhlas s publikací ani nadřízeného, ani ediční komisi fakulty a nehrozí mi disciplinární komise ani výpověď. Jako odborná recenzentka v mnohých zahraničních časopisech dostávám k posouzení práce mých zahraničních kolegů, kteří mají odvahu svoje názory publikovat, a proto vím, že nejsem sama.

Když se absolutně neshodnout odborníci, jak se v tom všem mají vyznat laici? Neměly by odborné debaty probíhat na odborné půdě?

Právě kvůli zvídavým čtenářům – laikům svoje knížky píši. Velikým problémem současné vědy je to, že se silně omezil počet nezávislých vědců, věda je finančně náročná, vydávání vědeckých časopisů je finančně nákladné a nejvíc peněz přichází od firem, které mají zájem na podpoře svých produktů. Proto vítám veškeré kritické připomínky odborníků s nadějí, že by mohly stimulovat odborné debaty na věcném základě, nikoliv pouze výpady proti Strunecké.

Lidé, kteří začnou pochybovat o oficiálních tvrzeních, sklouzávají někdy do jiného extrému, podivných alternativních metod a konspiračních teorií, a přiklánějí se k až nebezpečným praktikám. Vy například upozorňujete na nebezpečí MMS. Nehrozí větší riziko ze strany neověřených metod a produktů než těch úředně schválených?

Riziko hrozí ze všech těchto stran. Ani úředně schválené produkty nejsou vždy zcela bezpečné – viz například některá nechvalně známá éčka, hormonální disruptory ve výrobcích pro děti, nežádoucí účinky léků, které musely být staženy z trhu – ale právě proto by měl mít i laik dostupné informace, aby se mohl orientovat i v oněch konspiračních teoriích, které se šíří na internetu.

Příkladem vysoce odborného tématu, o nějž se masivně začali zajímat laici, je očkování. Mají rodiče dostatek informací a dovedou je vyhodnotit? Neměla by se podstata problému řešit na jiné úrovni než mezi lékařem a rodičem?

Já nepatřím mezi jednoznačné odpůrce očkování a doufám, že vývoj se bude ubírat směrem, který bude ku prospěchu dalších generací. Na úrovni rodiče a lékaře, který očkuje podle schváleného postupu lege artis se nic nevyřeší, ale mně se v současné době zdá, že rodiče mnohdy vědí víc než lékař, který jim neumí podat vysvětlení a popírá nežádoucí účinky vakcín.

Stěží budeme v „běžném provozu“ ověřovat složení všech potravin, kosmetiky, léků, studovat odborné materiály. Nabízíte celkem jednoduché rady, jak si zachovat zdraví. Nevyžadují mnoho peněz, spíše naši disciplínu. Máte zkušenosti, co dělá lidem největší potíže, čeho se neumí vzdát?

Lidé se řídí chutí, vzhledem a cenou potravin, věří reklamám a z toho vycházejí i výrobci. Člověk však potřebuje informace a proto se je pokouším jednoduchou a srozumitelnou formou sdělit. Jestliže lidé přestanou kupovat výrobky s aspartamem a glutamátem nebo s umělými barvivy, výrobci na to budou reagovat a již reagují. Je tedy na každém jednotlivci, jak s uvedenými informacemi naloží. Jestli si přestanou české ženy v těhotenství lakovat nehty po přečtení mojí knížky, jestli přestanou české ženy používat deodoranty a kosmetiku plnou umělých chemických látek nebo přestanou nosit podprsenky s kovovými kosticemi, to záleží na nich, to nedokážu odhadnout. Bohužel, jsme na světové špičce v konzumaci alkoholu a masa, jsme na prvním místě ve výskytu rakoviny kolorekta, v některých okresech i rakoviny děložního čípku, mnoho žen trpí rakovinou prsu.

Téměř ve všech kapitolách zmiňujete kurkumin. Dokonce píšete: „Toto žluté koření je nad zlato.“ Co je na něm tak zázračného?

Kurkumin je podstatnou složkou koření kurkumy, které je levné a dostupné. Svými účinky vyvolává zájem a pozornost vědců i široké veřejnosti, server PubMed nabízí na 6000 odborných recenzovaných článků, na Googlu je jich skoro půl milionu. V laboratořích i na klinikách v různých zemích bylo zjištěno, že má protizánětlivé, antibakteriální, antiseptické, detoxikační a antioxidační účinky, uvádí se jeho schopnost stimulovat imunitu, pomáhat proti stresu, harmonizovat mnohé funkce lidského těla. Mnoho odborných studií prokazuje jeho účinky v prevenci rakoviny i Alzheimerovy nemoci. Co je důležité – nebyly pozorovány žádné nežádoucí účinky. Někteří výrobci ho již používají k barvení potravin místo syntetických barviv.

Výživová a zdravotní doporučení odborníků prodělávají během času mnohdy až radikální proměny. V knize jmenujete třeba tuky či čokoládu, můžete uvést některé příklady, kdy se věda zmýlila nebo změnila názor?

I výživoví odborníci a poradci se shodují v tom, že ani celosvětová proměna náhrady sádla a másla ztuženými rostlinnými tuky v podobě margarinů nevedla k poklesu srdečně-cévních onemocnění, snížil se proto také povolený obsah trans-mastných kyselin, které lidskému zdraví neprospívají. Poznatky o prospěšných účincích čokolády jsou poměrně nové a laické i odborné veřejnosti nejsou známé, ale jedná se o kvalitní čokoládu, nikoliv o levné cukrovinky v podobě různých figurek a pochoutek. I zde však platí: Všeho s mírou!

Zdá se, že radit lidem ohledně zdraví a výživy je značně riskantní záležitost, která hrozí přinejmenším blamáží, ale také poškozením zdraví. Nemáte obavy, že se za čas ukáží i vaše doporučení jako mylná?

Máte pravdu, že v průběhu posledních padesáti let se ukázalo, že mnohé rady ohledně zdraví a výživy dnes již neplatí a můžeme je považovat za blamáž. Tím byl motivován i vznik naší Doby jedové, která měla pracovní název Více škody než užitku.

Já ve svých knížkách poskytuji čtenářům informace, které považuji za ověřené a prokázané na základě svých znalostí fyziologie, patofyziologie a biochemie. Nepouštím se do oblastí, jejichž léčení patří do rukou specialistů, jako je třeba diabetes nebo roztroušená skleróza. Ale například to, že aspartam či fluoridy lidskému zdraví škodí, že snižování cholesterolu pomocí statinů může působit více škody než užitku nebo že HPV vakcíny nebudou mít významný podíl v prevenci rakoviny děložního čípku a mohou přinést vážná poškození zdraví a plodnosti současných mladých dívek, může budoucnost jenom potvrdit.

Prof. RNDr. Anna Strunecká, DrSc.
Působila mnoho let na Přírodovědecké fakultě UK v oboru fyziologie a vývojové biologie. Je členkou mnoha mezinárodních odborných společností. Zabývala se dlouhodobě mechanismy vzniku patofyziologických změn u hematologických onemocnění, schizofrenie, Alzheimerovy nemoci a autismu.
Publikovala více než 300 odborných prací, je autorkou řady publikací, např. Varovné signály očkování, Přemůžeme autizmus? Spolu s Jiřím Patočkou napsala bestsellery Doba jedová a Doba jedová 2. Právě vychází její nová kniha Jak přežít dobu jedovou?

Čtěte dále: Nežádoucí účinky vakcíny proti rakovině děložního čípku jsou vážné, říká Anna Strunecká

Autor článku

Redaktorka, editorka, dlouholetá šéfredaktorka serveru Vitalia.cz (do června 2022)

'; 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 »