Wicket
  1. Wicket
  2. WICKET-3887

Problems concerning IE9 with "ActiveX Filtering" enabled

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.4.17
    • Fix Version/s: 1.4.18, 1.5-RC6
    • Component/s: wicket
    • Labels:
      None
    • Environment:
      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.

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Martin Grigorov
            Reporter:
            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

                Development