Skip to main content

Bug Tracker

Side navigation

#2450 closed bug (invalid)

Opened March 03, 2008 02:40PM UTC

Closed December 05, 2009 04:21AM UTC

dialog over the div with scrollbars in firefox 2/mac

Reported by: kof13 Owned by: scottgonzalez
Priority: trivial Milestone: 1.2.4
Component: ui Version: 1.2.3
Keywords: Cc:
Blocked by: Blocking:
Description

Is it possible to show the dialog over the scrollbars of the div? Temporary I can see the scrollbars of the div behind the dialog. If not, is it possible to determine if behind the dialog any scrollbars and set overflow to hidden bei showing dialog and set auto on closing?

Attachments (0)
Change History (6)

Changed March 03, 2008 03:45PM UTC by paul comment:1

owner: paulrworth

Changed March 14, 2008 03:49PM UTC by paul comment:2

owner: rworthscott.gonzalez

Changed March 14, 2008 05:24PM UTC by scott.gonzal comment:3

resolution: → worksforme
status: newclosed

I can't reproduce the behavior you have described. If I create a div that has scrollbars and place a dialog over the scrollbars, they do not pierce through the dialog (tested in Firefox 2.0.0.12 on Windows).

If you continue to have this problem, please re-open this ticket and provide a test page.

Changed March 24, 2008 01:54PM UTC by scott.gonzal comment:4

resolution: worksforme
status: closedreopened
summary: dialog over the div with scrollbars in firefox 2dialog over the div with scrollbars in firefox 2/mac

This problem is for Macs only. See related thread for possible fix.

Changed May 08, 2008 01:37AM UTC by ivan comment:5

The background iframe trick works for FF2/Mac as well, but currently the bgiframe plugin only handles IE6.

This patch works for me (caution: I didn't test it under IE6, and it doesn't support all the options available).

--- a/plugins/bgiframe/jquery.bgiframe.js
+++ b/plugins/bgiframe/jquery.bgiframe.js
@@ -71,7 +71,8 @@
  */
 $.fn.bgIframe = $.fn.bgiframe = function(s) {
        // This is only for IE6
-       if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
+       if ( ($.browser.msie && /6.0/.test(navigator.userAgent)) || 
+            (/Mac/.test(navigator.platform)) && /Firefox\\/2/.test(navigator.userAgent) ) {
                s = $.extend({
                        top     : 'auto', // auto == .currentStyle.borderTopWidth
                        left    : 'auto', // auto == .currentStyle.borderLeftWidth
@@ -80,18 +81,22 @@ $.fn.bgIframe = $.fn.bgiframe = function(s) {
                        opacity : true,
                        src     : 'javascript:false;'
                }, s || {});
-               var prop = function(n){return n&&n.constructor==Number?n+'px':n;},
-                   html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
+               var prop = function(n){return n&&n.constructor==Number?n+'px':n;};
+           var html = ($.browser.msie) ? '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
                               'style="display:block;position:absolute;z-index:-1;'+
                                       (s.opacity !== false?'filter:Alpha(Opacity=\\'0\\');':'')+
                                               'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWi
                                               'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLef
                                               'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\\'px\\')':prop(s.wid
                                               'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\\'px\\')':prop(s.
-                                       '"/>';
+                               '"/>'
+                       : '<iframe class="bgiframe" frameborder="0" tabindex="-1" src="'+s.src+'"'+
+                       'style="display:block;position:absolute;z-index:-1;'+
+                       (s.opacity !== false?'opacity: 0;':'')+
+                'top:0;left:0;width:100%;height:100%;"/>';
                return this.each(function() {
                        if ( $('> iframe.bgiframe', this).length == 0 )
-                               this.insertBefore( document.createElement(html), this.firstChild );
+                               this.insertBefore( $(html).get(0), this.firstChild );
                });
        }
        return this;

Changed December 05, 2009 04:21AM UTC by john comment:6

resolution: → invalid
status: reopenedclosed