Hi Trygve!

Thanks for the advice! I have now contacted A-pressen Digitale Medier about working together to get AdTech to provide a better solution than document.write :-)



Kind regards,
Mads Erik Forberg



Den 19.12.2010 16:00, skrev Trygve Lie:
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]

Reply via email to