Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Ext Premium Member
    Join Date
    Mar 2007
    Posts
    123
    Vote Rating
    0
    x5150 is on a distinguished road

      0  

    Default setOpacity doesn't work for IE9

    setOpacity doesn't work for IE9


    The setOpacity method doesn't work for IE9. I read some post about IE9 uses opacity now and <= IE8 modes used alpha filters. Here is a solution, http://blogs.msdn.com/b/ie/archive/2...and-alpha.aspx. Can this be patched in 3.4.0 please?

  2. #2
    Sencha - Community Support Team jsakalos's Avatar
    Join Date
    Apr 2007
    Location
    Slovakia
    Posts
    27,168
    Vote Rating
    323
    jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future

      0  

    Default


    This looks like a feature request. We at support do not implement such requests - do you want me to move this thread to Feature Requests forum?
    Jozef Sakalos, aka Saki

    Education, extensions and services for developers at new http://extjs.eu
    News: Blessing and Curse of refs, Grid MultiSearch Plugin


  3. #3
    Ext Premium Member
    Join Date
    Mar 2007
    Posts
    123
    Vote Rating
    0
    x5150 is on a distinguished road

      0  

    Default


    Wouldn't this be a bug fix since ext 3.4 is supposed to be compatible with ie9?

    Here is an example of the issue,

    Code:
    <html>
    <head>
        <title>Testing setOpacity in IE9 standard mode</title>
    
    
    <link rel="stylesheet" type="text/css" href="/v=99.9/jslib/ext/resources/css/ext-all.css" />
    <script type="text/javascript" src="/v=99.9/jslib/ext/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="/v=99.9/jslib/ext/ext-all-debug.js"></script>
    <script type="text/javascript">
    function toggleOpacity() {
        var pic = Ext.get('foo'),
            op = pic.dom.style.opacity,
            toggle;
            
        if (!op || op > 0) {
        toggle = 0} else {toggle=1}  
        pic.setOpacity(toggle);
        }
    </script>
    
    <style type="text/css">
    #foo {
        height:364px;
        width:468px;
        background-image:url("http://cdn.miragestudio7.com/wp-content/uploads/2007/07/tennis_court_burj_al_arab_hotel.jpg");   
        }
        </style>
    </head>
    <body>
    
    <div id="foo">test div</div>   
    <h1>Click button to toggle opacity of picture</h1>
    <input type="button" onclick="toggleOpacity()"></input> 
        
    </body>
    </html>

  4. #4
    Ext Premium Member
    Join Date
    Mar 2007
    Posts
    123
    Vote Rating
    0
    x5150 is on a distinguished road

      0  

    Default


    We're actually calling setVisible with animation. setVisible calls setOpacity though. I'll try to make another example calling setVisible.

  5. #5
    Ext Premium Member
    Join Date
    Mar 2007
    Posts
    123
    Vote Rating
    0
    x5150 is on a distinguished road

      0  

    Default


    Quote Originally Posted by x5150 View Post
    We're actually calling setVisible with animation. setVisible calls setOpacity though. I'll try to make another example calling setVisible.
    Here's the setVisible example, although this standalone example works in IE9 we still need setOpacity to work in IE9.

    <html>
    <head>
    <title>Testing setVisible in IE9 standard mode</title>


    <link rel="stylesheet" type="text/css" href="/v=99.9/jslib/ext/resources/css/ext-all.css" />
    <script type="text/javascript" src="/v=99.9/jslib/ext/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="/v=99.9/jslib/ext/ext-all-debug.js"></script>
    <script type="text/javascript">
    function toggleVisibility() {
    var pic = Ext.get('foo'),
    op = pic.dom.style.visibility,
    toggle;

    //if (!op || op != "hidden") {
    toggle = 0;
    pic.setVisible(false, {duration: 0.5, callback: function() {pic.setVisible(true)} });
    //pic.setVisible(toggle,{duration:0.5});
    //} else {
    // toggle=1;
    // pic.setVisible(toggle);
    // }

    }
    </script>

    <style type="text/css">
    #foo {
    height:364px;
    width:468px;
    background-image:url("http://cdn.miragestudio7.com/wp-content/uploads/2007/07/tennis_court_burj_al_arab_hotel.jpg");
    }
    </style>
    </head>
    <body>

    <div id="foo">test div</div>
    <h1>Click button to toggle visibility of picture</h1>
    <input type="button" onclick="toggleVisibility()"></input>

    </body>
    </html>

  6. #6
    Sencha - Community Support Team jsakalos's Avatar
    Join Date
    Apr 2007
    Location
    Slovakia
    Posts
    27,168
    Vote Rating
    323
    jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future

      0  

    Default


    OK, I'm moving this thread to Bugs for developers to fix.
    Jozef Sakalos, aka Saki

    Education, extensions and services for developers at new http://extjs.eu
    News: Blessing and Curse of refs, Grid MultiSearch Plugin


  7. #7
    Ext JS Premium Member Munter's Avatar
    Join Date
    Dec 2009
    Location
    Copenhagen, Denmark
    Posts
    55
    Vote Rating
    0
    Munter is on a distinguished road

      0  

    Default Bugfix

    Bugfix


    It's a simple case of not going down the traditional IE path for IE9 and never. This is the bugfix:

    ext-core/src/core/Element.style.js:

    Code:
            /**
             * Set the opacity of the element
             * @param {Float} opacity The new opacity. 0 = transparent, .5 = 50% visibile, 1 = fully visible, etc
             * @param {Boolean/Object} animate (optional) a standard Element animation config object or <tt>true</tt> for
             * the default animation (<tt>{duration: .35, easing: 'easeIn'}</tt>)
             * @return {Ext.Element} this
             */
             setOpacity : function(opacity, animate){
                var me = this,
                    s = me.dom.style;
    
    
                if(!animate || !me.anim){
                    if(Ext.isIE && !Ext.isIE9){
                        var opac = opacity < 1 ? 'alpha(opacity=' + opacity * 100 + ')' : '',
                        val = s.filter.replace(opacityRe, '').replace(trimRe, '');
    
    
                        s.zoom = 1;
                        s.filter = val + (val.length > 0 ? ' ' : '') + opac;
                    }else{
                        s.opacity = opacity;
                    }
                }else{
                    me.anim({opacity: {to: opacity}}, me.preanim(arguments, 1), null, .35, 'easeIn');
                }
                return me;
            }

  8. #8
    Sencha User
    Join Date
    Jul 2009
    Posts
    4
    Vote Rating
    0
    asinko is on a distinguished road

      0  

    Default


    Bug is not fixed in Ext JS 3.4.1.1

  9. #9
    Ext JS Premium Member
    Join Date
    Apr 2008
    Posts
    338
    Vote Rating
    15
    rich02818 will become famous soon enough

      0  

    Default


    Is this also a problem for IE10?

  10. #10
    Sencha User
    Join Date
    Jul 2009
    Posts
    4
    Vote Rating
    0
    asinko is on a distinguished road

      0  

    Default


    No. Current code of Ext JS 3.4.1.1 is correct for IE10
    Code:
                    if(Ext.isIE9m){ // isIE6 || isIE7 || isIE8 || isIE9
                        var opac = opacity < 1 ? 'alpha(opacity=' + opacity * 100 + ')' : '',
                        val = s.filter.replace(opacityRe, '').replace(trimRe, '');
    
                        s.zoom = 1;
                        s.filter = val + (val.length > 0 ? ' ' : '') + opac;
                    }else{
                        s.opacity = opacity;
                    }
    But need exclude IE9 from this condition. Details in previous posts.
    Code:
                    if(Ext.isIE9m && !Ext.isIE9){
                        var opac = opacity < 1 ? 'alpha(opacity=' + opacity * 100 + ')' : '',
                        val = s.filter.replace(opacityRe, '').replace(trimRe, '');
    
                        s.zoom = 1;
                        s.filter = val + (val.length > 0 ? ' ' : '') + opac;
                    }else{
                        s.opacity = opacity;
                    }

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar