How can I detect ActiveX support?

how to check activex version windows 10
how to enable activex
activex test
enable activex chrome
enable activex in edge
where are activex controls stored in windows 10
activex download
activex add-on

I know that Modernizr hasn't got a built-in test for ActiveX and detecting ActiveX support for IE gets complicated after IE11 (look at Silverlight version detection code).

Is there any workaround for detecting ActiveX support all versions of IE and other browsers? Also I have to control this server-side too and Request.Browser.ActiveXControls returns false on IE11 (This issue has been reported Microsoft).

You can test if typeof window.ActiveXObject != 'undefined'.

Note that you MUST check typeof, this is what I got in IE11 (which does not support ActiveX anymore):

>>> window.ActiveXObject
>>> typeof window.ActiveXObject
>>> typeof window.ActiveXObject === 'undefined'
>>> window.ActiveXObject === undefined

In IE10 mode and below:

>>> typeof window.ActiveXObject

So that check will let you find out if you can use ActiveXObject(..) to create a new ActiveX object.

Enable ActiveX controls in Internet Explorer - Lync, in their default web browser Microsoft Edge (which has a different, incompatible extension system). If you see the current date and time displayed, ActiveX and scripting are working properly. If, instead of the time, you see a box with a small x in it, either: ActiveX is not supported: Use Internet Explorer to view the site. ActiveX is not enabled: See these instructions to enable ActiveX.

You can use the following script for client-side and if you save it to element, you can access it via server-side.

function IsActiveXSupported() {
    var isSupported = false;

    if(window.ActiveXObject) {
        return true;

    if("ActiveXObject" in window) {
        return true;

    try {
        var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
        isSupported = true;
    } catch (e) {
        if ( === "TypeError" || === "Error") {
            isSupported = true;

    return isSupported;

ActiveX, How do I know if ActiveX is enabled in IE 11? ActiveX controls. ActiveX controls are small apps that allow websites to provide content such as videos and games. They also let you interact with content like toolbars and stock tickers when you browse the web. However, because many ActiveX controls don’t automatically update, they can become outdated as new versions are released.

Update on @ogun's code:

function def( o ) { return CS.undefined !== typeof o; }

function IsActiveXSupported() {
    try {
        // Test if it should be supported
        if ( def( window.ActiveXObject ) || ( "ActiveXObject" in window ) ) {
            // Test if it is really supported
            var start =;
            var xmlDom = new ActiveXObject( "Microsoft.XMLDOM" );
            var elapsed = - start;
            return true;
    } catch ( e ) {
        // When active X controls are possible, but disabled, an exception will be thrown.
    return false;

Reasons for the update: When ActiveX is possible, but disabled, an exception will be thrown. The original code would indicate this as 'enabled'. Don't call this function repeatedly, as it is not very fast. Tested on IE11, current Firefox and Chrome. (You can remove the performance measuring.)

Administration, Check your security settings for scripting. If you see the message ActiveX is not supported, then your browser doesn't recognize ActiveX at all. Introduction The generic ActiveX detector shown above can detect many different ActiveX controls. Simply specify the ActiveX classid and the maxdigits parameter, and the detector will return the control's status and version. This ActiveX detector works only for your Internet Explorer browser.

If all else fails, you can fall back to a try-catch block:

try {
    var x = new ActiveXObject("...");
    // this particular ActiveX Control is supported
catch (error) {
    // it's not supported

Use ActiveX controls for Internet Explorer 11, ActiveX Filtering in Internet Explorer prevents sites from installing and using these apps. This can help keep you safer as you browse, but it can  How Can I Use the detect java-blocking and detect activex-blocking Commands? Solution If the detect activex-blocking command is configured in the interzone, the firewall detects and blocks the Activex control in the interzone, download .cab or .ocx files, and replace their file name extensions with .blk.

How to enable ActiveX controls in Internet Explorer, Desktop Central supports two modes of viewing the remote computers, viz. ActiveX Viewer and HTML5 Viewer. The ActiveX viewer uses the browsers ActiveX  Allow Internet Explorer to Run ActiveX controls and plug-ins by selecting Enable, or Prompt if you want to be notified each time this happens. Allow Internet Explorer to Script ActiveX controls marked safe for scripting by selecting Enable , or Prompt if you want to be notified each time this happens.

How can I see which ActiveX controls a site is attempting to load , Viewing loaded ActiveX controls. Load the web page you want to test. Launch Process Explorer (double-clicking on the procexp.exe file) Click and hold on the “Find Window's Process” icon; the Process Explorer window will disappear. While continuing to hold your mouse button down, hover over the web page you want to ActiveX objects do not exist in anything but Internet Explorer. If you're trying to use them for XMLHTTPRequests, use the XMLHTTPRequest() object instead, using feature detection. if ("ActiveXObject" in window) { /* Do ActiveX Stuff */ } else { /* ActiveX doesnt exist, use something else */ }

ActiveX Information, ActiveX only works in Internet Explorer on Windows. Test, Result. ActiveX supported? No or unable to detect GeckoActiveX supported? No or  If license information is not involved, you can use ActiveXObject to check whether the ActiveX control has been enabled on the client. Otherwise, as a workaround, you can call one method of the control in your web page. If it returns undifined, it indicates the controls is not available.