Hi I see some using the trick by fetching ads at the bottom of a page and moving them to placeholders further up in the page. An old trick also without problems. Do note that if you move a script tag with a external reference to a JS file our beloved IE6 and IE7 will request the external JS file once more. In the case of a ad system, ads will be COUNTED TWICE due to this movement.
I did run into this problem some years ago with Ad Tech ads. Here are a deeper explanation of the problem and a "solution": http://www.trygve-lie.com/blog/entry/moving_a_script_ie_might Tough; ad systems such as Ad Tech could improve a lot in how they include ads. I think the best approach in the long term are to talk to the ad companies. Some years ago my company had several discussions with Ad Tech regarding such problems. I think if several customers get together it would also be worth to joining forces to talk to the companies. Here in Norway you might be interested in talking to A- Pressen Nye Medier about this Mads. PS: There are ad companies solving this. I thing DoubleClick have a proper solution on including ads. Though, a long time since I looked at it. Trygve On Dec 16, 2:59 pm, Gregers Gram Rygg <[email protected]> wrote: > Mads: Thanks for bringing this up! Always beer at our meetups, > sometimes for free ;) > > Steve Souders just released ControlJS a few hours > ago:http://stevesouders.com/controljs/ > > Haven't had time to check it out yet, but looks promising! > > Gregers > > > > On Thu, Dec 16, 2010 at 1:58 PM, Anton Yacenko <[email protected]> > wrote: > > Sorry, but code gone with my leave from eBay :) > > I thought it's in production, but marktplaats.nl there is another solution > > that was pointed in this thread: load banners in the bottom and move nodes > > to the placeholders. > > Anton. > > On Dec 16, 2010, at 2:15 PM, Mads Erik Forberg wrote: > > > Sounds good, can you provide a code example for this? :-) > > > Kind regards, > > Mads > > > Den 16.12.2010 10:37, skrev Anton Yacenko: > > > I've solve this problem with document.write redefine, it's not simple > > solution, coz you need to control script loading, but in common was like > > this: > > redefine document.write, > > parse content for each dw call, find content and scripts inside > > put content to placeholder, async. load scripts that was found (that scripts > > could use dw too, so you need to redefine dw again; i've worked with > > doubleclick banners and sometime there was 3 scripts inside each other who > > called dw); > > this solution easy when you have 1 banner, when you have 2 and more you > > basically need to load all scripts by yourself and execute in needed > > document.write context for exactly banner placeholder, this means global > > redefined document.write became a proxy for all scripts and placeholders, > > this require more complicated "architecture" implementation. I've solve > > multiple banners loading with simple "text" events (basically simple > > observer). > > Erik, I hope this flow of thoughts could help you somehow :) > > All, interesting to hear if anyone used solution like this > > Regards, > > Anton. > > > On Dec 15, 2010, at 11:31 PM, Ben Alman wrote: > > > I wrote a small jQuery plugin to do this, but I didn't get to spend enough > > time on it to know if and when it will fail. It doesn't use Iframes, but > > does override document.write and document.writeln, and in my testing, worked > > with nested scripts. It's obviously not the most robust solution out there, > > since it doesn't use Iframes to sandbox. > >http://benalman.com/projects/jquery-misc-plugins/#loadadscript > > > - Ben > > > "Cowboy" Ben Alman > >http://benalman.com/ > > RJ3 Productions > > Broken Buddha Records > > > On Wed, Dec 15, 2010 at 2:29 PM, Balázs Galambosi <[email protected]> > > wrote: > > >> This is almost exactly the same as placing the code to the bottom of > >> the page (without iframes) and replacing the placeholders with the > >> real content after dom:load. > > >> The difference is that e.g. Adsense doesn't like "fake" iframes > >> (because it's generating ads depending on the page's content). > > >> Synchronous I/O at the bottom of the page is an acceptable trade-off > >> in my opinion. The only downside is that you need to have a good > >> management of such scripts because you have to place the placeholder > >> and the real ad separately depending on the current page. > > >> 2010/12/15 Nicola Rizzo <[email protected]>: > >> > I solved this problem using iframes: after the page load my script > >> > creates an iframe for every banner, so the load time is not affected > >> > by the external scripts. > >> > The iframe's src points to a page containing the original synchronous > >> > script, wrapped in a div, ie: > >> > <div id='wrapper'> > >> > <script type='text/javascript' > >> > src='http://external/sync/script.js'></script> > >> > </div> > >> > When the iframe's onload is fired, my handler copies the > >> > document.getElementById('wrapper').innerHTML to the main document (in > >> > a parent.document.getElementById(íframecontainer') or something like > >> > that). > >> > Hope this helps, > >> > Nicola > > >> > On Wed, Dec 15, 2010 at 5:26 PM, Mads Erik Forberg <[email protected]> > >> > wrote: > >> >> Hello, > >> >> have any of you worked out a async document.write that works with > >> >> ad-hosting-services? > >> >> My employer uses AdTech, and some times they load ads from yet another > >> >> ad-hosting-service, so we get many layers of document.write > > >> >> It works fine for the first ad-service to do this stuff: > >> >> [code] > >> >> var oldWrite = document.write, > >> >> content = ''; > >> >> document.write = function(d) { > >> >> content += d; > >> >> } > >> >> [/code] > > >> >> But when the script from the AdTech loads, it loads yet another script > >> >> that > >> >> uses document.write from another service. And that document.write goes > >> >> back > >> >> to its old self. > >> >> Like this: > >> >> Initial call: > >> >> <script src="path-to-adtech.js"></script> > >> >> In that script its: > >> >> document.write("<script src=\"another-provider.js\"><\/script>"); > >> >> And in that script: > >> >> document.write("Print out fancy ad"); > > >> >> So what I want is a document.write that stays persistant over all the > >> >> layers. > > >> >> Anyone encountered this? Solutions? Hacks? > > >> >> Best regards, > >> >> Mads Erik Forberg > > >> >> -- > >> >> To view archived discussions from the original JSMentors Mailman list: > >> >> http://www.mail-archive.com/[email protected]/ > > >> >> To search via a non-Google archive, visit here: > >> >>http://www.mail-archive.com/[email protected]/ > > >> >> To unsubscribe from this group, send email to > >> >> [email protected] > > >> > -- > >> > To view archived discussions from the original JSMentors Mailman list: > >> > http://www.mail-archive.com/[email protected]/ > > >> > To search via a non-Google archive, visit here: > >> >http://www.mail-archive.com/[email protected]/ > > >> > To unsubscribe from this group, send email to > >> > [email protected] > > >> -- > >> To view archived discussions from the original JSMentors Mailman list: > >> http://www.mail-archive.com/[email protected]/ > > >> To search via a non-Google archive, visit here: > >>http://www.mail-archive.com/[email protected]/ > > >> To unsubscribe from this group, send email to > >> [email protected] > > > -- > > To view archived discussions from the original JSMentors Mailman list: > > http://www.mail-archive.com/[email protected]/ > > > To search via a non-Google archive, visit here: > >http://www.mail-archive.com/[email protected]/ > > > To unsubscribe from this group, send email to > > [email protected] > > > -- > > To view archived discussions from the original JSMentors Mailman list: > > http://www.mail-archive.com/[email protected]/ > > > To search via a non-Google archive, visit here: > >http://www.mail-archive.com/[email protected]/ > > > To unsubscribe from this group, send email to > > [email protected] > > > -- > > To view archived discussions from the original JSMentors Mailman list: > > http://www.mail-archive.com/[email protected]/ > > > To search via a non-Google archive, visit here: > >http://www.mail-archive.com/[email protected]/ > > > To unsubscribe from this group, send email to > > [email protected] > > > -- > > To view archived discussions from the original JSMentors Mailman list: > > http://www.mail-archive.com/[email protected]/ > > > To search via a non-Google archive, visit here: > >http://www.mail-archive.com/[email protected]/ > > > To unsubscribe from this group, send email to > > [email protected] -- To view archived discussions from the original JSMentors Mailman list: http://www.mail-archive.com/[email protected]/ To search via a non-Google archive, visit here: http://www.mail-archive.com/[email protected]/ To unsubscribe from this group, send email to [email protected]
