The removePopup method in popups.js uses Array.indexOf, which is not a standard Javascript method, for all that it does work in Firefox. As such, it doesn't work in ie7 or ie8.
I tried adding the indexOf method to the array object, but ran into a problem with FCKEditor, which defines an (uppercase) IndexOf method, which apparently clashes somehow.
I ended up defining a simple function, array_indexof, which I added to the top of the file. This fixes the problem with ie7, ie8.
I'm working on creating a patch file and will respond with it.
Comments
Comment #1
jcfiala commentedAnd... here's that patch. You may want to move the function somewhere else, I put it at the top so as to make it easier to find. I ended up naming it arrayIndexOf because that seems to be more standard for Javascript function names.
Comment #2
drupal_jon commentedAfter installing this patch, the removePopup doesn't seem to work at all (in any browser). Firefox shows this error:
Popups.popupStack.arrayIndexOf is not a function
Line 626 of popups.js
A little confusing because I can see that function! Is this my mistake?
Comment #3
BrandTim commentedAttached is a revised patch. The original patch was declaring a function but trying to call a method. Now it declared and calls the function.
BrandTim
Comment #4
drupal_jon commentedThanks BrandTim,
tested and it's working fine now across browsers (tested IE6 - 8, FF3, SF3)
Comment #5
sirkitree commentedWorked for us as well.
Comment #6
muhleder commentedIs working for me, solved an issue with forms in a popup not being submitted in IE7.
Comment #7
aleagi commentedNice job! #3 Fixed the issue! @:)
Thanks!
Comment #8
blakehall commented+1 here too...
We have a similar fix, but this solution makes more sense...
Comment #9
bcn commentedAnother happy customer! Patch from #3 works great...
Comment #10
longwaveFixed in 6.x-2.x-dev, see #419974: overlay won't disappear on IE6, errors saying that method is not valid for object