Results 1 to 3 of 3

Thread: ExtJS 4.0.7 patch/override to support IE11

  1. #1
    Sencha User
    Join Date
    Dec 2011
    Posts
    22

    Default ExtJS 4.0.7 patch/override to support IE11

    Hello,

    Since IE11 is not supported in ExtJS version 4.0.7 (see http://bit.ly/1mBg1X7) and some of us are not ready to upgrade to version 4.2.x, I took a pass at creating a patch to get Internet Explorer 11 working. Surprisingly, with very little changes (see below), my app started working just fine. Here is the code for the override:

    Code:
    if (Object.hasOwnProperty.call(window, "ActiveXObject") && !window.ActiveXObject) { // is IE11
        Ext.apply(Ext, {
            isIE : false, // cosmetic, since it's false by default for IE11
            isIE11: true,
            ieVersion: 11
        });
    
    
        Ext.override(Ext.layout.container.Container, {
            getLayoutTargetSize : function() {
                var target = this.getTarget(),
                    ret;
    
    
                if (target) {
                    ret = target.getViewSize();
    
    
                    // IE in will sometimes return a width of 0 on the 1st pass of getViewSize.
                    // Use getStyleSize to verify the 0 width, the adjustment pass will then work properly
                    // with getViewSize
                    if ((Ext.isIE || Ext.isIE11) && ret.width == 0){ 
                        ret = target.getStyleSize();
                    }
    
    
                    ret.width -= target.getPadding('lr');
                    ret.height -= target.getPadding('tb');
                }
                return ret;
            }
        });
    }
    Note that if you don't like "feature detection" approach for detecting IE11, you can write your own code that parses User Agent string instead to set Ext.isIE11 variable (http://bit.ly/1ktRSk4). The main point is that Ext.layout.container.Container.getLayoutTargetSize() method needs to behave as if rendering for older version of IE. While in most other places, Ext.isIE should return false because IE11 behaves more like FireFox or Chrome.

    One area where my app is still having problems is with an embedded PDF panel. I'll post an update to this once that problem is solved. Likewise, I'd appreciate if people were to post other fixes for IE 11 they found in this thread.

    Thanks!

  2. #2
    Sencha User
    Join Date
    Feb 2013
    Location
    California
    Posts
    11,985

    Default

    Nice! Thanks for sharing your work with the community.

  3. #3
    Sencha User
    Join Date
    Jan 2012
    Posts
    85

    Default

    This solve some issues for visualization.But how to solve the flex problems on the grid?

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •