I've had to implement a few fixes for Popups to work properly with IE. To do this, I've created a seperate module which includes the jQuery plugins and adds them using jq. This way, the main popups module doesn't have to depend on anything else, and it's *really* easy to extract the IE support code, or disable it all together. Here's the module; I can upload in patch form as well if needed.
As is, it fixes the IE6 iframe issue with form elements, as well as a scrolling issue when a popup contains Views AJAX pagers.
Note that the 'bgiframe' and 'scrollTo' plugins are both MIT/GPL, so they can be included in CVS. I thought about making it required to download them manually as is often best practice, but as I'm sure more IE bugs will be found I think it's best in this case to have a one-checkbox-fix-IE solution.
| Comment | File | Size | Author |
|---|---|---|---|
| popups_ie.tar_.gz | 5.83 KB | deviantintegral |
Comments
Comment #1
handsofaten commentedThis doesn't seem to work with the 6.x-1.3 version, and the 6.x-2.x-dev version is throwing a JS error in every version of IE. Am I missing something?
Comment #2
deviantintegral commentedThis has only been tested with 6.x-2.x-dev. What version of IE are you using, and can you post the JS error?
Comment #3
handsofaten commentedI'm testing it under Virtual PC on an old Mac G5. So not the best scenario.. but I've never had JS errors on it that wouldn't appear in IE normally. The error comes from Popups API itself, not from this IE module. In IE 6, 7, and 8, the "Loading" overlay comes up for a second and then this JS error shows up:
'undefined' is null or not an objectAnd IE tracks the bug down to line 272 (or 273) in popups.js, which reads:
var popups = template.replace('%title', title).replace('%body', body);Also in IE 6, the overlay is shifted over by 1/2 the screen, whether I have the IE support layer turned on or not. I should mention that I'm using the Popups: Add & Reference module, which may have something to do with it.
Comment #4
deviantintegral commentedIt would be great if you could install the module on a fresh Drupal install, as it seems like there is a conflict somewhere. I'm using this module on two live sites without this issue. Or, could you install the IE JS debugger to backtrace where the error is generated from?
Comment #5
deviantintegral commentedLooks like the AJAX-views bug is actually an issue in Views. Somehow it started showing up in other browsers (probably a JS ordering issue). I've filed #689780: AJAX views try to scroll the wrong element when clicking a pager element. which should mean that scrollTo will be able to be removed and this will just be for the bg-iframe issue.