Opened 11 years ago

Closed 10 years ago

#5553 closed defect (wontfix)

Plugins don't work inside layout widgets that hide panes via style.display=none (FF)

Reported by: guest Owned by:
Priority: high Milestone: 1.4
Component: Dijit Version: 1.0
Keywords: TabContainer Firefox CSS style.display Cc:
Blocked By: Blocking:

Description (last modified by bill)

Firefox bug # 90268 has been around since July 10, 2001 (https://bugzilla.mozilla.org/show_bug.cgi?id=90268).

Firefox will unload plug-ins if the container's style.display is toggled to 'none'. As a result, this occurs with the Dojo TabContainer? / ContentPane? in Firefox, causing loss of state (and possibly input) if a user is switching between tabs of an application, and a ContentPane? associated with a tab uses a plug-in (such as Flash Player with a Flex component). I believe that the other dijit Containers may exhibit the same problem (such as the AccordionContainer?).

If there is a way to prevent the use of the style.display property it has so far eluded me, an application of this sort would be forced to IE or the use of the TabContainer? events to manipulate <DIVS> outside of the tab container (using visibility / zIndex without the display attribute).

Change History (5)

comment:1 Changed 11 years ago by bill

Milestone: 2.0
Priority: highnormal
Summary: Dojo must provide ability to workaround Firefox CSS style.display bug - plug-ins/containersPlugins don't work inside layout widgets that hide panes via style.display=none (FF)

Hmm, I suppose that using visibility:hidden with position:absolute is possible although that's a big change and could cause other side effects.

comment:2 Changed 11 years ago by alex

Milestone: 2.01.3

Milestone 2.0 deleted

comment:3 Changed 11 years ago by bill

Description: modified (diff)

Might be fixed by fixing #5672.

comment:4 Changed 10 years ago by bill

Milestone: 1.31.4

bumping 1.4 tickets to 1.5, and most 1.3 tickets to 1.4

comment:5 Changed 10 years ago by bill

Resolution: wontfix
Status: newclosed

There was a big refactor of all this code recently. We tried using visibility:hidden rather than display:none but it caused too many problems on IE.

I suppose you could modify the definitions of dijitHidden and dijitVisible to use display:none on IE but visibility:hidden on firefox. I think that will get you what you want.

You could also use a ContentPane with an href and refreshOnShow set to true.

Anyway, I think you can get this working with one of those workarounds. I don't want to make firefox use visibility:hidden by default because it's slower performance. So I'm going to mark this as "won't fix" and hopefully you can do the workaround as suggested above.

Note: See TracTickets for help on using tickets.