Opened 14 years ago
Last modified 10 years ago
#7175 confirmed Bug
IE: Drop-downs closed immediately after show
Reported by: | Kenrath | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | UI : Floating Panel | Version: | 3.5.1 |
Keywords: | IE HasPatch IBM | Cc: | Teresa Monahan, Satya Minnekanti, peter, irinauru@… |
Description (last modified by )
Steps to reproduce:
- Only one tab must be opened in IE.
- Place editor inside a frame which is inside a modal dialog window (attached files "Page1.html" and "Page2.html" reproduce than if placed inside "\ckeditor\_samples folder").
- Open page with editor ("Page1.html").
- Click on "Font" drop-down.
- Click on "Size" drop-down (all further clicks on "Font", "Size", "Format", "Background Color" and "Text color" drop-downs will result showing and immediate hiding of drop-down).
Browser name and OS : Checked on IE8 on Windows 7 and IE6 on Windows XP.
Attachments (4)
Change History (23)
Changed 14 years ago by
Attachment: | Page1.html added |
---|
Changed 14 years ago by
Attachment: | Page2.html added |
---|
Changed 14 years ago by
Attachment: | 7175.patch added |
---|
comment:1 Changed 14 years ago by
Keywords: | HasPatch added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:2 Changed 14 years ago by
Sorry, I accidentally closed this ticket. Please reopen it if possible.
comment:3 Changed 14 years ago by
Description: | modified (diff) |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
comment:4 Changed 14 years ago by
Status: | reopened → confirmed |
---|
comment:5 Changed 14 years ago by
I was close to report this bug when I saw that it had already been reported.
I confirm that it occurs only when CKEditor is opened inside a modal window using showModalDialog(). A simple HTML page containing only <script>showModalDialog('fullpage.html');</script> does the trick.
It can be reproduced on all IE versions (9 included), on any OS (tested on 2000, XP, 7); works fine on Firefox (3 or 4). I also had it on v3.5 (not tested on previous versions).
comment:6 Changed 14 years ago by
I applied the patch you provided on ckeditor.js v3.5.3. Works great on IE 6, 7 and 8.
But on IE 9 (in Quirks mode at least), opening a dropdown for the second time raises a JavaScript error on a getRanges() call.
I looked into the code and found that the faulty code is located on the wysiwygarea plugin. The call is located on the block created for fix #6966, and is executed when enterMode is set to something different than ENTER_P (we use ENTER_BR in our application).
If I revert back to ENTER_P, the problem disappears. I don't know why this is happening on IE 9 only; patch #7175 might be incomplete/incompatible with this version and fix #6966.
@CKEditor Team: can you checkout the patch provided by Kenrath to integrate it into next version, with IE 9 support?
comment:7 Changed 14 years ago by
Possibly related: http://cksource.com/forums/viewtopic.php?f=6&t=18775 Note that according to comment by parkheaven this patch does not solve all issues.
comment:8 Changed 13 years ago by
R- for 7175.patch as "iframe.focus" doesn't really bring focus to the float panel thus keyboard interaction is broken.
Changed 13 years ago by
Attachment: | 7175_2.patch added |
---|
comment:10 Changed 13 years ago by
There is a similar issue concerning usage of showModalDialog() in IE - #2554
comment:11 Changed 13 years ago by
The attached patch (7175_2.patch) does not solve the problem with Page1.html. I've checked IE8 @ Win XP.
- Make sure you have just one tab opened in IE8.
- Check the
Font
andSize
drop-down.
comment:12 Changed 11 years ago by
I don't know if this helps with the problem for anyone but this worked for me for IE8. Using the solution at the bottom is what worked.
comment:13 Changed 11 years ago by
Cc: | Teresa Monahan Satya Minnekanti peter added |
---|---|
Keywords: | IE IBM added |
comment:15 Changed 11 years ago by
Cc: | irinauru@… added |
---|
comment:16 Changed 11 years ago by
I spent few hours debugging #11420 (it's in fact a little bit different case because it does not involve iframe) and I don't have any good news. Focus implementation for modal dialogs is terrible and based on what I saw I predict no way to make it work.
The reason is that most editor features cause the entire modal window to magically lose focus or maybe, because it's hard to say what's really happening, that the editable is forcibly refocused by browser. Undo/redo, dialogs, panels (context menu, float panels, etc.), clicking below body - all them make the modal window blinking. I've got no idea where this blur comes from and where the focus escapes. My theory is that when any element inside a modal window loses focus IE executes some bizarre algorithm to restore focus in that modal window. This may be related to the fact that modal window is a special kind of window that should never lose focus and perhaps IE implements this rule in a poor way.
To make all this even worse the situation looks even more terrible on IE11 than on IE8 and additionally, IE dev tools are useless and crash when trying to use debugger in modal dialog.
Few warm words about modal dialogs can be found in this article:
http://tjvantoll.com/2012/05/02/showmodaldialog-what-it-is-and-why-you-should-never-use-it/
It also mentions that Chrome dropped modal windows support and that they are deprecated in Firefox. It's not unlikely that they will be dropped in some future IE version as well.
comment:17 Changed 10 years ago by
Firefox's team confirms that showModalDialog will be dropped in the near future: https://twitter.com/FxSiteCompat/status/511943411616989184
This means that soon only IEs will be left with showModalDialog support and the quality of implementation of this method I think proves that Microsoft isn't interested in maintaining this feature too.
fix