« 1 2 »
Autor Zpráva
ErapliX
Profil
Potřebuji načítat Etarget reklamu podle země návštěvníka. Doted jsem to dělal přes PHP a to bylo v pohodě, ale kvuli rychlosti jsem ve WP zapl cache a nyní se nedá přes PHP, tak bych potřebval poradit, jeslti vás něco nenapadá. Zkoušel jsem to pomocí jQuery pomoci funkce append, jenže ač funkce vloží správně JS kod etarget reklamy tam kam potřebuju, tak reklama se zobrazuje na konci stránky. Nevíte jak to udělat?

Děkuji
Xanomes
Profil
ErapliX:
funkce vloží správně JS kod etarget reklamy tam kam potřebuju, tak reklama se zobrazuje na konci stránky.
Co napozicování reklamy pomocí CSS?
ErapliX
Profil
Xanomes:
jenže ono to vkladá reklamu v takovém formatu
<iframe width="728px" height="20px" marginwidth="0px" marginheight="0px" vspace="0px" hspace="0px" allowtransparency="true" frameborder="0" scrolling="no" charset="utf-8" style="border-width: 0px; overflow: hidden; width: 728px; height: 20px; display: block; margin: 0px;"></iframe>
a to mně nenapadá jak to napozicovat pomoci CSS do divu do kterého potřebuji. jQuery ten JS kod nacte do toho divu ke potrebuji, ale ten IFRAME se vytvori tesne pred koncem <body>. Kdyz je kod v tom DIVU normal vložení v HTML kodu, tak se reklama (iframe) nacte v tom divu tak jak ma, tak nechapu
Xanomes
Profil
ErapliX:
Jakým způsobem to vkládáš? Tímhle nebo jiným?
document.write("<iframe width='728px'>...</iframe>");
ErapliX
Profil
Na PHP souboru ve kterém mám hlavicku nastavenou na Javacript si přes php vygeneruju podle země návštěvníka Kod
Bud
jQuery(document).ready(function($){$("#reklama").append("<script type='text/javascript' src='//cz.search.etargetnet.com/generic/uni.php?g=ref:*****'>");});

Nebo
jQuery(document).ready(function($){$("#reklama").append("<script type='text/javascript' src='//sk.search.etargetnet.com/generic/uni.php?g=ref:*****'>");});

a tento PHP soubor normalne nacitam na web pres javacript src.
Chamurappi
Profil
Reaguji na ErapliXe:
Většina reklamních systémů funguje synchronně. Skriptu je celkem jedno, jestli ho strčíš do nějakého <div>u nebo do <head>, neřeší, kde je, pro jeho činnost bývá rozhodující, kdy je načtený a v jakém stavu je stránka. A ty ho načítáš ve stavu, kdy je ve stránce už všechno… takže reklamu vloží za to všechno.
Pokud samotný Etarget nenabízí žádnou možnost, jak servírovacímu skriptu sdělit, do čeho má reklamu dát, tak máš smůlu.

kvuli rychlosti jsem ve WP zapl cache a nyní se nedá přes PHP
Tomuhle asi moc nerozumím. Budeš si to muset nějak vyřešit na straně serveru, nevím, proč bys chtěl odpovědnost za správné umístění reklamy přesouvat do JS.
ErapliX
Profil
Chamurappi:
Když je zaplé cache, tak se zobrazuje už vygenerovaná stránka (která je bud vygenerovana s SK nebo CZ reklamou) a už neřeší, či se jedná o slováka, nebo čecha. A ja potřebuji, aby se čechum zobrazil CZ etarget a slovakum SK, bohužel se zaplou cache jinak než přes JS to nejde. Jedná se o dost náročný web, takže bez cache často padá hosting a načitá se stránka přes 10s

EDIT:
Pokud se načte ten JQUERY append jako prvni než se začne načítat web a hodi to tedy ten script reklamy do toho divu, tak ten script reklamy se bude v jake fazi načítat? Stále na konci, nebo normalně, jak kdyby v tom kodu byl primo?

V Etargetu se da vybrat mezi dvěmi verzemi kodu:

<script type="text/javascript" async="true" data-ad-type="lines v2.0" charset="utf-8" src="//cz.search.etargetnet.com/generic/uni.php?g=ref:47110"></script>
<script type="text/javascript" id="etargetScriptd441cb44e2cf5f86da22ae6ceee9a7ec">function etargetPostloadFunctiond441cb44e2cf5f86da22ae6ceee9a7ec(){var e="etargetPostloadd441cb44e2cf5f86da22ae6ceee9a7ec",t="etargetScriptd441cb44e2cf5f86da22ae6ceee9a7ec",o=document.getElementById(e);if(o){for(var n=o.offsetTop,d=o.offsetLeft,r=o.offsetWidth,a=o.offsetHeight;o.offsetParent;)o=o.offsetParent,n+=o.offsetTop,d+=o.offsetLeft;var i=n<window.pageYOffset+window.innerHeight&&d<window.pageXOffset+window.innerWidth&&n+a>window.pageYOffset&&d+r>window.pageXOffset;if(i&&etargetAllowOtherCheck){allowed=!1;var c=document.createElement("script");return c.src="//cz.search.etargetnet.com/generic/uni.php?g=ref:47110",void(document.getElementById(t)&&document.getElementById(e)&&(document.getElementById(t).parentNode.appendChild(c),document.getElementById(t).parentNode.removeChild(document.getElementById(t)),document.getElementById(e).parentNode.removeChild(document.getElementById(e)),document.removeEventListener("scroll",etargetPostloadFunctiond441cb44e2cf5f86da22ae6ceee9a7ec),document.removeEventListener("resize",etargetPostloadFunctiond441cb44e2cf5f86da22ae6ceee9a7ec),document.removeEventListener("DOMContentLoaded",etargetPostloadFunctiond441cb44e2cf5f86da22ae6ceee9a7ec)))}}}var etargetDivID="etargetPostloadd441cb44e2cf5f86da22ae6ceee9a7ec",etargetScriptID="etargetScriptd441cb44e2cf5f86da22ae6ceee9a7ec",etargetPostloadPoint=document.createElement("div");etargetPostloadPoint.id=etargetDivID;var etargetCurScript=document.getElementById(etargetScriptID);etargetCurScript.parentNode.appendChild(etargetPostloadPoint),document.addEventListener("scroll",etargetPostloadFunctiond441cb44e2cf5f86da22ae6ceee9a7ec),document.addEventListener("resize",etargetPostloadFunctiond441cb44e2cf5f86da22ae6ceee9a7ec),document.addEventListener("DOMContentLoaded",etargetPostloadFunctiond441cb44e2cf5f86da22ae6ceee9a7ec);var etargetAllowOtherCheck=!0;if(typeof("forceRunPostload")=="string"){etargetPostloadFunctiond441cb44e2cf5f86da22ae6ceee9a7ec()}</script>

Třeba vás něco napadne, já moc JS neholduji
_es
Profil
ErapliX:
Tak ten Etarget má snáď asi aj nejakú dokumentáciu, či základné postupy, prečo nezačneš tam? Či očakávaš, že tu niekto bude analyzovať, čo asi tak môže robiť druhý kód v [#7]? Nerobí to, čo potrebuješ?
ErapliX
Profil
_es:
Bohužel jedinou dokumentaci co jsem našel je www.etarget.cz/api a to je jen na připojení k statistikám účtu.
Chamurappi
Profil
Reaguji na ErapliXe:
ja potřebuji, aby se čechum zobrazil CZ etarget a slovakum SK, bohužel se zaplou cache jinak než přes JS to nejde
A jak to jde v JS?
Zjišťuješ-li to nějak synchronně, proč prostě přes JS normálně nevypíšeš patřičný <script> na správném místě přes document.write?

bohužel se zaplou cache
To je ta keš nějaká divná, že neumožňuje kešovat jednotlivé kousky webu, ne? Spojit je přeci už není výpočetně složitá činnost. Serverová keš přeci nemusí brát stránku jako nedělitelný monolit (na rozdíl od klientské keše).
ErapliX
Profil
Už jsem to vyřešil, akorát v IE to nefunguje, jinde jo. Nevite jak v PHP zjistim jestli se jedná o IE? Včetně nejnovější verze.
_es
Profil
ErapliX:
Už jsem to vyřešil, akorát v IE to nefunguje, jinde jo.
Prečo si myslíš, že to pôjde všade inde než v IE? Vyskúšal si úplne všetky možné prehliadače? Ak napíšeš, ako presne si to „vyriešil“, tak možno dostaneš lepšiu radu.
ErapliX
Profil
Ano, v iphonu na vsech prohližečích OK a na PC Chrome/Firefox/Opera OK, jen IE KO. A nejvetsi navstevnost je z chrome asi 88%, ale tak radši bych ten IE vyresil. No Dal jsem na konec stránky obe reklamy CZ i SK do skryteho divu a pak nacitám jscript.php, ze kterého se podle zeme navstevnika nacte jquery script, který presune bud CZ nebo Sk reklamu do divu kam potřebuji. Vsude to funguje, jen v IE posila Etarget prazdnou reklamu do toho noveho divu kam se to presune.

Zajimavé: Když dam refresh stránky, tak se reklama zobrazi v divu i v IE, ale kdyz na stranku přijdu normal klikem (bez refreshu), tak se nezobrazi
Chamurappi
Profil
Reaguji na ErapliXe:
Už jsem to vyřešil, akorát v IE to nefunguje, jinde jo.
Tomu bych tedy neříkal řešení.
Co je tak těžkého na tom udělat normálně document.write? Proč mi neodpovídáš na otázku, jak zjišťuješ zemi v JS?

Ano, v iphonu na vsech prohližečích OK
Na iPhonu existuje reálně jen jeden prohlížeč. Nebo snad už Apple vpustil na App Store konkurenční vykreslovací jádra?

Dal jsem na konec stránky obe reklamy CZ i SK do skryteho divu a pak nacitám jscript.php
To jako myslíš vážně? :-)
Jednak je to naprosto hloupé řešení, jednak to bude velmi pravděpodobně proti podmínkám reklamního systému, protože načítáš imprese, které nejsou vidět. Předpokládám, že inzerenti v Etargetu si neplatí za to, aby jejich reklamní sdělení někdo načítal do neviditelných elementů a pak půlku z nich zahazoval (a jen proto, že si neumí vyřešit banální problém správně). Tohle bych na místě reklamního systému vyhodnotil jako jasný podvod.
ErapliX
Profil
Chamurappi:
1) protože přes document.write se nacte blank misto reklamy. Zemi zjistuji pres PHP v tom externim JS souboru, kterym mam v PHP s hlavickou kde urcuji ze je to javascript.

2) ano, Safari, Chrome, Firefox, Dophin, Opera

3) Banální vec? Tak napis řešení, protože o žádném s funkční cache nevím. Kdyz etarget neumi vykreslovat reklamu pokud se script vloži do stránky přes document.write...
_es
Profil
ErapliX:
protože přes document.write se nacte blank misto reklamy.
Namiesto reklamy sa zobrazí „nič“, alebo sa vymaže celá stránka?

Tak napis řešení, protože o žádném s funkční cache nevím.
Riešenie ti dal v [#10]. Okrem toho nechceš napísať, ako si to „vyriešil“ ([#11]), takže sa nie je od čoho „odraziť“.
ErapliX
Profil
_es:
1) Normálně se načte ten iframe od Etarget, ale v <body> nic nema. Takže se vlastně nic nezobrazuje, jen prázdný iframe. A přesne takhle se mne to zobrazuje v IE/edge aj, když to nacitám do skrytého divu a pak to přesunu (což v ostatních prohlížečích funguje, jak má)
2) Rozkoskovat cache se mne jaksi ve WP nedaří. Používám WP Super cache a zkoušel jsem to přes dynamic cache, ale nedari se mne to zprovoznit.
Jak jsem to ted vyřešil, jsem napsal v [#13] Stačilo by, kdyby mne někdo poradil, co má být v PHP za podmínku, aby se obsah nezobrazoval v IE/Edge.
_es
Profil
ErapliX [#17]:
No tak daj predsa „živú“ ukážku konkrétnej stránky, aby bolo vidno, čo si konkrétne spravil a čo konkrétne to robí. Keď s tým robíš také tajnosti, tak ti asi ťažko niekto dobre poradí.
ErapliX
Profil
_es:
Já chci poradit jakou podmínku dát, aby se obsah nezobrazoval v IE/Edge, k tomu živou ukázku nepotřebujete a web jeste neni na doméne.
Xanomes (nepřihlášen)
Profil *
ErapliX:
Přečti si Podmíněné komentáře
_es
Profil
ErapliX:
Já chci poradit jakou podmínku dát, aby se obsah nezobrazoval v IE/Edge
Také „riešenie“ však obvykle nie je rozumné riešenie. Prišiel si vôbec na to, prečo to robí problémy práve v IE? Nie je to napríklad spôsobené tým, že je celé riešenie pochybné a v iných prehliadačoch to funguje len „náhodou“?

Xanomes (nepřihlášen) [#20]:
Aj v článku je spomenuté, že to funguje len na staršie IE.
ErapliX
Profil
_es:
Na ostatních prohlížečích to funguje. Testováno aspoň 100x refresh atd. IE musi načítat js jinak nez ostatní prohlížeče
Xanomes (nepřihlášen)
Profil *
_es:
Já vím, ale když chce, abychom mu při tak málo informacích dali řešení, tak tady ho má. Jistě existuje lepší, ale když nám nechce ukázat, jak to funguje, můžeme mu těžko nějaké lepší dát :)
Chamurappi
Profil
Reaguji na ErapliXe:
protože přes document.write se nacte blank misto reklamy
Není možné. Děláš něco špatně. Trváš na tom, že živou ukázku nepotřebujeme, tak si to asi budeš muset opravit sám.

2) ano, Safari, Chrome, Firefox, Dophin, Opera
Webkit, webkit, webkit, webkit, webkit. Jeden prohlížeč, různé obaly. (Zdůrazňuji, že se bavíme o prohlížečích pro iOS. Na jiných systémech to neplatí.)

Kdyz etarget neumi vykreslovat reklamu pokud se script vloži do stránky přes document.write...
Ale Etarget přeci vůbec neví, jakým způsobem je skript do stránky vložený.

Já chci poradit jakou podmínku dát, aby se obsah nezobrazoval v IE/Edge
Fakt, že načítáš neviditelné imprese reklamy, ti jako problém nepřijde?

IE musi načítat js jinak nez ostatní prohlížeče
V tom případě jsi objevil rozdíl, na který jsem během posledních patnácti let nikdy nenarazil, což jednak není příliš pravděpodobné, jednak mě to o víc zajímá…
Jako pravděpodobnější mi připadá, že uvnitř rámu došlo k JS výjimce, třeba kvůli této chybě, kterou zapříčiňuje stěhování rámu. Ale to bys vyčetl z konzole a zajisté nám o tom řekl…


Reaguji na Xanomese:
Pokud použiješ jméno s podtržítkem na konci, můžeš si dodatečně připsat příspěvek k profilu. I kdybys o to zájem neměl, tak psát do jména stav přihlášení je divné :-)
ErapliX
Profil
Chamurappi:
1) No ted řeším jak zjistit v PHP, zda se jedna o IE/edge
2) Aha, tak dopodrobna jsem to nezjištoval, ale asi máte pravdu
3) No je to tak, to mají třeba nejakou ochranu.
4) Placený jsem od kliku, takže tohle maximalne zkresluje statistiky
5) Ted jsem si vsiml, že pokud vstoupim z SK IP, tak se reklama zobrazi správně i v IE (SK reklama je v tom skrytem DIVU na konci stránky), tak jsem to prohodil (na konci stránky je CZ etarget) a ted v IE funguje CZ reklama a SK ne. Jinde je to stále bez problemu at je to jakkoliv, funguji pokazde obe verze.

PS: Jelikož je IE pro me jen pár %, tak už se tím nechci zatěžovat, tak bych jen chtěl reklamu z IE/Edge vyloučit, ale pořád se mne nedaří zjistit, zda je to nové IE.
Chamurappi
Profil
Reaguji na ErapliXe:
3) No je to tak, to mají třeba nejakou ochranu.
Nemůžou mít. Ukaž kód s document.write, který jsi zkoušel.

4) Placený jsem od kliku, takže tohle maximalne zkresluje statistiky
Hm. Znáš nějaký reklamní systém, kterému nevadí, když mu někdo zkresluje statistiky?
Načítat dva reklamní kódy jen proto, abys jeden zahodil, je postavené na hlavu.
Pokud zjišťuješ zemi na straně PHP, proč vůbec generuješ JS? Proč prostě rovnou nepřesměruješ na tu adresu skriptu Etargetu?

ale pořád se mne nedaří zjistit, zda je to nové IE
Řešení tohoto triviálního problému bys našel vyhledávačem během dvou minut, tak nevím, proč se na to pořád ptáš.
_es
Profil
Chamurappi:
Jeden prohlížeč, různé obaly.
Tak Firefox snáď do tohto „obalu“ ešte nepatrí. Či mi niečo ušlo?
Chamurappi
Profil
Reaguji na _es:
Mě trochu překvapilo, že vůbec existuje Firefox pro iPhone. Vyzkoušel jsem ho dnes a opravdu používá webkit. Na Wikipedii se píše: „Due to Apple's application review policies, Firefox will have to use the built-in iOS WebKit-based rendering framework instead of Gecko.“
Zrovna tak Chrome pro iOS musí používat vestavěný webkit a ne svůj blink (což není zase tak velký rozdíl).
ErapliX
Profil
Chamurappi:
Ale já tu zemi zjistuji v PHP souboru, ktery je jako JS a nacitam ho do cachovane stranky jako JS script.

Neříkám, že to není postavené na hlavu, ale už se s tím zabývám hrozně dlouho a nic lepsiho jsem nevymyslel, tak kdžy to funguje tak co resit. Jen potřebuji vyřešit ten IE, kde se mi nacitaji dve reklamy a ani jedna se nezobrazí, to už by bylo hodne na BAN.
Chamurappi
Profil
Reaguji na ErapliXe:
Ale já tu zemi zjistuji v PHP souboru, ktery je jako JS a nacitam ho do cachovane stranky jako JS script.
Pořád nechápu, v čem je takový problém. Buď to špatně popisuješ, nebo nerozumíš, co ti popisuju já.

PHP skript zjistí, že:
a) je země ČR => vygeneruje: document.write('<script src="//cz.search.etargetnet.com/generic/uni.php?g=ref:*****"></script>').
b) je země SR => vygeneruje: document.write('<script src="//sk.search.etargetnet.com/generic/uni.php?g=ref:*****"></script>').
Tohle jsem ti navrhoval v příspěvku [#10] – proč to tak nejde udělat? Zkoušels to? (Vůbec žádné přesouvání bloků se neděje, reklama se vykreslí tam, kde bude vložený ten tvůj <script src="skript.php">.)
Edit: Opraveny uvozovky po upozornění od Bubáka na další straně.

Nebo lépe, zjistí, že:
a) je země ČR => přesměruje na //cz.search.etargetnet.com/generic/uni.php?g=ref:*****.
b) je země SR => přesměruje na //sk.search.etargetnet.com/generic/uni.php?g=ref:*****.
Tohle jsem ti navrhoval v příspěvku [#26] – to nejde udělat proč? (Opět se žádné přesouvání bloků neděje.)

Jsem si celkem jistý, že oba postupy musí fungovat.
Nevím, proč si to pořád chceš něčím komplikovat…
« 1 2 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: