Floatbox with Google Adwords causes permission denied error

Page: 1

Author Post
Member
Registered: Dec 2008
Posts: 12
Floatbox is great...thank-you very much.

I struggled with Greybox on our site for > 4 hours until I found a link to Randomous. Greybox hogged the page onload event which broke my google maps api...Floatbox does not. Well done.

Now, I'm replacing all of the help popups on our site with Floatboxes and was going along just fine until I hit a page with google adwords on it.

I get a "permission denied to get property Window.document"

on line 1046 of v3.24 of the "hideElements" function.

The window causing all the trouble "thisWindow" is the Google ads?client element.

Has anyone found a workaround to this issue?

To see this in action...here are 2 links...one with working links [no ads] and one with broken links [with ads].

The "-help" links have the Floatbox calls.

This page...everything works fine:
http://test.4grabs.org/search/search.php?find=&rpp=20&order=d&show=title&map=on&mot=on&lat=36.97883235679567&lon=-122.02385902404785&zoom=15&address=201-259+Water+St%2C+Santa+Cruz%2C+CA+95060%2C+USA

This page has the problem:
http://test.4grabs.org/search/search_oodle.php?find=&rpp=20&order=d&show=title&map=on&mot=on&lat=36.9788323568&lon=-122.023859024&zoom=16&address=201-259+Water+St%2C+Santa+Cruz%2C+CA+95060%2C+USA


Steve
« Last edit by Steve on Mon Dec 15, 2008 10:55 pm. »
Administrator
Registered: Aug 2008
Posts: 3382
The hideElements routine has given me a lot a grief. The line that is throwing the error for you is inside a try/catch error handling block. Browsers *should* ignore errors within that block and continue processing the following code, but not all do. Opera has been the worst offender. So really, it's a browser processing bug and I'm not sure I can find a workaround for it. I'll try though.

All is not lost. hideElements is being called because hideFlash is true. If you have no flash on the base page that requires hiding, set hideFlash to false and you should be ok. Or, if you do have flash on the base page, you can set the flash's wmode parameter to opaque or transparent and then it won't need floatbox's hideFlash help.
Member
Registered: Dec 2008
Posts: 12
Hard to believe...after checking out the other browsers [I found the problem on FF3] it works just fine. So for me, only FF is the only one not *ignoring* the error.

I'll try your idea about hideFlash switch as I don't have any flash.

Thanks for the quick reply.
Member
Registered: Dec 2008
Posts: 12
I did what you suggested and it still didn't solve the problem cause hideElements was being called again in the next line to this.hideElements('applet').

So I set hideJava to false also and that fixed everything.

I'm not sure what this is going to do but it fixed the original problem. My JavaScript experience doesn't extend much beyond throwing up an alert :)

Anyway...floatbox saved my butt. Hiring a programmer would have been $$$ so I hope you have already received my $50 donation toward your next happy-hour.

Keep it up...and thanks again. Steve
Administrator
Registered: Aug 2008
Posts: 3382
FF3 only? Go figure. That's a browser we count on to be largely bug free.

Apologies for overlooking hideJava:false. I mistakenly thought the default for that was already set to false, but it's not.

I think I know how to work around this - by checking the location.href of each iframe and doing text compares to see if it's cross-domain. If it is, I won't try to hideElements inside it.

Thanks very much for the donation. The recognition is as much appreciated as is the cash. ;) Donationware is certainly not a get rich quick scheme. Floatbox averages about 50 downloads per day. The last donation I received prior to yours was precisely two months ago. I should probably wise up and sprinkle some ads on my site.

Cheers...
Administrator
Registered: Aug 2008
Posts: 3382
Steve,
The only way I can reproduce this behaviour is to have firebug enabled in FF3 and have the option "Break on All Errors" enabled. Does this describe your configuration? If so, it's firebug that's interrupting the javascript and not a problem with the floatbox code. Are you able to run some tests to see if this theory holds water???

Page: 1