Hello,
We've recently had some issues with advertisers claiming underdelivery on certain campaigns we've scheduled for them, and have traced the issue back to an unreliability in some custom framebuster code we've written using writeCapture. Over the past several weeks I've conducted a number of tests to determine the reliability of various techniques for writing an <img> tag to a parent frame from within an iframe. I conducted this test across a random sampling of visitors to our site. Here are the results - each test included about 2500 users; margin of error is +/- 1%:
91% = Tags directly in frame (control)
91% = InnerHTML with string vars
89% = InnerHTML with textarea containing html string
67% = writeCapture with with string vars
67% = writeCapture with textarea containing html string
41% = writeCapture2 with textarea containing html string
I was unable to find any particular browser incompatibilities when testing across Chrome, Firefox, Safari, and IE7-9, and my exception tracking turned up no glaring errors, so at this point I am attributing these dropouts to "random failure" within the writecapture script. Given that innerHTML appears to extremely reliable, it seems sensible to switch to this approach, were it not for the fact that it would prohibit us from running remote script tags. I was hoping writeCapture2 would solve this issue but it only appears to have worsened it.
Is there any known way to improve reliability for framebusting scripts when executing arbitrary javascript? Alternately, can anyone think of a test that would more conclusively determine the point-of-failure with writeCapture for remote logging? At this point I am considering abandoning the framebuster technique altogether in favor of a frame-resizing script that doesn't move any HTML around.
Thanks for your insight.