Autor | Zpráva | ||
---|---|---|---|
Milkys Profil |
#1 · Zasláno: 5. 6. 2013, 12:07:10
Potřebuji do divu six něco vypsat. Zkouším to s innerHTML, ale nefunguje to - reklama se nezobrazí.
document.getElementById("six").innerHTML = 'zde mám uveden kod reklamy google adsence'; |
||
_es Profil |
#2 · Zasláno: 5. 6. 2013, 12:32:03
Milkys:
„zde mám uveden kod reklamy google adsence“ A prečo nevložíš reklamu „normálne“ podľa oficiálneho návodu na jej vloženie? „reklama se nezobrazí.“ Asi preto, že elementy script vložené cez innerHTML sú nefunkčné.
|
||
Milkys Profil |
_es:
Děkuji za reakci. Reklamu bych vložil normálně, ale odchytávám si javascriptem šířku sloupce resp. určitého divu a podle toho jaká je splněna podmínka šíře sloupce vkládám jinak velký banner. Asi preto, že elementy script vložené cez innerHTML sú nefunkčné. Takže to nejde udělat s innerHTML? Existuje jiný způsob? Javasriptu moc nerozumím. |
||
Milkys Profil |
#4 · Zasláno: 5. 6. 2013, 15:33:05
Ještě prosím doplním, že se jedná o responsive design. Proto se mění šířky divů.
Děkuji vřele za reakce. |
||
Chamurappi Profil |
#5 · Zasláno: 5. 6. 2013, 15:59:56
Reaguji na Milkyse:
Tipnul bych si, že si při změně velikosti okna nesmíš říct o novou reklamu. Že to bude proti podmínkám (jakéhokoliv) reklamního systému. Se zjištěním rozměru okna v okamžiku načtení stránky není problém a tam nepotřebuješ používat innerHTML .
|
||
honzaik Profil |
#6 · Zasláno: 5. 6. 2013, 16:00:27
tak tedy jedno z řešení je toto
var el = document.createElement("script"); var script = document.createTextNode('samotny skript'); el.appendChild(script); document.body.appendChild(el); |
||
Milkys Profil |
honzaik:
tak jsem asi trochu mimo. Mohl by mě někdo zkušenější trochu více nakopnout. Testnul jsem to takto a samozřejmě bez úspěchu: var sirka_six = 340; if (sirka_six > 339) { var el = document.createElement("six"); var script = document.createTextNode('<script type="text/javascript">document.write("test");<\/script>'); el.appendChild(script); document.body.appendChild(el); } |
||
honzaik Profil |
#8 · Zasláno: 5. 6. 2013, 17:37:22
aspon trochu snahy ne? :D staci si najit jak kdejake funkce atd funguji ;) do createElement se dava nazev tagu např div, span nebo zde script. do text node se vklada to co je mezi tagy script tedy "document.write('baf');" ale document.write se nedoporucuje protoze v urcitem umisteni maze zbytek stranky (vytvori nový document) dal bych tam neco jako "console.log('test')" a nit otevrenou js konzoli v prohlížeči, ve ktere se tato zprava zobrazi
|
||
Chamurappi Profil |
#9 · Zasláno: 5. 6. 2013, 17:39:33
Reaguji na Milkyse:
Proč vyrábíš element <six> ?
Příspěvek od honzaika můžeš ignorovat, jeho skript stejně nefunguje ve všech prohlížečích a i kdyby fungoval, document.write vyvolaný po načtení stránky by se ti nelíbil.
Tobě by na místě inzerenta vyhovovalo, kdyby se ti protočila reklamní imprese v okamžiku, kdy si někdo otočí tablet o 90°? |
||
Milkys Profil |
#10 · Zasláno: 5. 6. 2013, 18:26:55
Chamurappi:
Tobě by na místě inzerenta vyhovovalo, kdyby se ti protočila reklamní imprese v okamžiku, kdy si někdo otočí tablet o 90°? Tak toto jsem vůbec nedomyslel a rozhodně jsem to neměl v úmyslu. Pokud by to mělo dělat nějaké podvody - tak to ne. To není má parketa - lehko nabyl - lehko pozbyl. Jde mi jen o to, že pokud bude mít div s id=six více jak 339 px tak se mi do tohoto divu banner široký 336 px vejde. Pokud bude šíře div s id=six menší, např. 268 px použil bych rád banner samozřejmě užší např. 250x250px. Dalo by se toto vyřešit tak, aby to nebyl podvod a neokrádal jsem inzerenty? Nebo je to utopie? |
||
Chamurappi Profil |
Reaguji na Milkyse:
Jak jsem již psal, změříš-li rozměry v okamžiku načítání, v tu dobu asi způsob vložení banneru ovlivnit můžeš… Ale na dodatečné změny proporcí asi reagovat nejde, pokud na to AdSence nemá nějaké API, které by dokázalo již tu jednou načtenou reklamu přeformátovat. |
||
Milkys Profil |
#12 · Zasláno: 5. 6. 2013, 18:43:37
Chamurappi:
Šířku prvku konkrétně divu zjišťuji js tzn., že až po načtení stránky. var sirka_six = document.getElementById('six').offsetWidth; Zkusím kouknut někam jinam jestli to už někoho nenapadlo předemnou a jak dopadl. Děkuji za reakce všem. V podstatě nevyřešeno. Pokud najdu řešení - dám to sem. |
||
Chamurappi Profil |
Reaguji na Milkyse:
„Šířku prvku konkrétně divu zjišťuji js tzn., že až po načtení stránky.“ JS se spouští okamžitě. Nečeká na donačtení stránky, pokud mu to explicitně neporučíš. Uvedený kód zjistí šířku elementu s id="six" v době, kdy na něj prohlížeč narazí v HTML.
|
||
Milkys Profil |
#14 · Zasláno: 5. 6. 2013, 19:11:53
Chamurappi:
Tak potom by to snad nebylo podvodné jednání z mé strany. Zjistím šířku divu a podle toho zobrazím příslušnou velikost banneru. Jen nevím jak pomocí js vypsat kod adsence reklamy. |
||
Chamurappi Profil |
#15 · Zasláno: 5. 6. 2013, 19:17:16
Reaguji na Milkyse:
Tohle bude z hlediska práva v pořádku, protože se bude reklama načítat jen jednou na jedno zobrazení stránky. „Jen nevím jak pomocí js vypsat kod adsence reklamy.“ Pokud si dobře vzpomínám, tak kód AdSence se skládá ze <script> u, ve kterém jsou v javascriptových proměnných nastavené parametry (včetně rozměrů), a pak z externího JS, který tyto hodnoty baští. Takže tobě stačí jen změnit ty proměnné, v nichž jsou rozměry, ne?
|
||
Milkys Profil |
#16 · Zasláno: 5. 6. 2013, 19:52:13
Chamurappi:
Ano vzpomínáš si dobře. Možná budeš mít asi pravdu s těma rozměrama. Tak to je teda pořádné nakopnutí, to je ostuda. Zkusím a dám vědět. Proč drbat pravé ucho pravou rukou, ono to jde i levou... |
||
Milkys Profil |
#17 · Zasláno: 6. 6. 2013, 00:28:29
Chamurappi:
děkuji, je to jednoduché. Opravdu stačí jen odchytit šířku divu a podle šířky měnit parametry banneru google_ad_slot, google_ad_width a google_ad_height. <div id = "six"> <script type="text/javascript"> var sirka_six = document.getElementById('six').offsetWidth; if (sirka_six > 339) { var s = "cislo"; var w = sirka_banneru; var h = vyska_banneru; } if (sirka_six == 300) {//jina velikost var s = " jine_cislo"; var w = jina_sirka_banneru; var h = jina_vyska_banneru; } google_ad_client = "ca-pub-cislo"; google_ad_slot = s; google_ad_width = w; google_ad_height = h; </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> </div> |
||
Časová prodleva: 11 let
|
0