Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-3887

Problems concerning IE9 with "ActiveX Filtering" enabled

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.4.17
    • 1.4.18, 1.5-RC6
    • wicket
    • None
    • Windows 7, Internet Explorer 9, "ActiveX Filtering" enabled (for example as a domain policy in a company)

    Description

      Internet Explorer 9 contains a new feature to block all ActiveX content by default:

      http://ie.microsoft.com/testdrive/Browser/ActiveXFiltering/About.html

      If the feature is enabled, all ActiveX controls are blocked silently. With Wicket this currently results in a lot of JavaScript content (but not all of it) being blocked as well. The user can allow an exception by clicking on a small icon in the address bar, however, he usually will be only able to do so, if he knows exactly what causes the problem.

      A user who enabled the feature himself might still see what is wrong, but the feature can be also enabled in a domain policy, which might make solving the problem much more difficult and have adverse effects on customers.

      The reason that some JavaScript content is blocked along with blocking ActiveX elements is the usage of window.ActiveXObject:

      wicket-ajax.js:

      >if (window.ActiveXObject)

      { > transport = new ActiveXObject("Microsoft.XMLHTTP"); > Wicket.Log.info("Using ActiveX transport"); >}

      else if (window.XMLHttpRequest)

      { > transport = new XMLHttpRequest(); > Wicket.Log.info("Using XMLHttpRequest transport"); >}

      According to

      http://blogs.msdn.com/b/ie/archive/2011/05/02/activex-filtering-for-developers.aspx

      the usage of this pattern is not advisable and the order should be changed to:

      >// Best Practice: Use Native XHR, if available
      >if (window.XMLHttpRequest)

      { > // If IE7+, Gecko, WebKit: Use native object > var xmlHttp = new XMLHttpRequest(); >}

      >else if (window.ActiveXObject)

      { > // ...if not, try the ActiveX control > var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); >}

      The problem is reported to be fixed in JQuery 1.5.1, for instance.

      Attachments

        Activity

          People

            mgrigorov Martin Tzvetanov Grigorov
            wicket.x.ttp Walter B. Rasmann
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 8h
                8h
                Remaining:
                Remaining Estimate - 8h
                8h
                Logged:
                Time Spent - Not Specified
                Not Specified