Opened 8 years ago

Last modified 4 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 Alfonso Martínez de Lizarrondo)

Steps to reproduce:

  1. Only one tab must be opened in IE.
  2. 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").
  3. Open page with editor ("Page1.html").
  4. Click on "Font" drop-down.
  5. 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)

Page1.html (451 bytes) - added by Kenrath 8 years ago.
Page2.html (405 bytes) - added by Kenrath 8 years ago.
7175.patch (544 bytes) - added by Kenrath 8 years ago.
fix
7175_2.patch (1.9 KB) - added by Garry Yao 8 years ago.

Download all attachments as: .zip

Change History (23)

Changed 8 years ago by Kenrath

Attachment: Page1.html added

Changed 8 years ago by Kenrath

Attachment: Page2.html added

Changed 8 years ago by Kenrath

Attachment: 7175.patch added

fix

comment:1 Changed 8 years ago by Kenrath

Keywords: HasPatch added
Resolution: fixed
Status: newclosed

comment:2 Changed 8 years ago by Kenrath

Sorry, I accidentally closed this ticket. Please reopen it if possible.

comment:3 Changed 8 years ago by Alfonso Martínez de Lizarrondo

Description: modified (diff)
Resolution: fixed
Status: closedreopened

comment:4 Changed 8 years ago by Krzysztof Studnik

Status: reopenedconfirmed

comment:5 Changed 8 years ago by Eudoweb Development Team

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 8 years ago by Eudoweb Development Team

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 8 years ago by Wiktor Walc

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 8 years ago by Garry Yao

R- for 7175.patch as "iframe.focus" doesn't really bring focus to the float panel thus keyboard interaction is broken.

Changed 8 years ago by Garry Yao

Attachment: 7175_2.patch added

comment:10 Changed 7 years ago by Jakub Ś

There is a similar issue concerning usage of showModalDialog() in IE - #2554

comment:11 Changed 7 years ago by Wiktor Walc

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 and Size drop-down.
Last edited 7 years ago by Wiktor Walc (previous) (diff)

comment:12 Changed 5 years ago by clumsyhamster

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.

http://bugs.jqueryui.com/ticket/9087#comment:14

comment:13 Changed 5 years ago by Jakub Ś

Cc: Teresa Monahan Satya Minnekanti peter added
Keywords: IE IBM added

comment:14 Changed 5 years ago by Jakub Ś

#11420 was marked as duplicate.

comment:15 Changed 5 years ago by Irina

Cc: irinauru@… added

comment:16 Changed 5 years ago by Piotrek Koszuliński

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.

Last edited 5 years ago by Piotrek Koszuliński (previous) (diff)

comment:17 Changed 4 years ago by Piotrek Koszuliński

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.

comment:18 Changed 4 years ago by Jakub Ś

Similar issue but for CKEditor Bootstrap #9934.

comment:19 Changed 4 years ago by Jakub Ś

#13041 is related to this one.

Note: See TracTickets for help on using tickets.
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy