views:

2727

answers:

6

Has anyone not noticed that JQuery uses ActiveX controls?

When a user has limited their activex security they will get script prompt popups and a yellow bar accross the top of their browser window. -This setting is by default on Windows Servers. -Internet Cafe's dont support Active X. -Company internal workstations dont support this.

Considering this I don't see how people can use JQuery in a commercial application.

Do you use JQuery in a commercial application? Does this concern you? Do you think I should be concerned with this?

+11  A: 

Only spot where ActiveX is mentioned in the jQuery code is for the ActiveXObject which is used for XMLHttpRequests:

// Create the request object; Microsoft failed to properly
// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();

There's an open issue here ... seems like jQuery doesn't fallback to use the native XMLHttpRequest on IE7 (this is probably what you're experiencing).

Also this might help: link

Luca Matteis
+6  A: 

jQuery, like most libraries that provide support for AJAX, will use ActiveX to create the XMLHttpRequest object when running in IE. Because that's how you get an XMLHttpRequest object in IE. If you disable it, then you don't get AJAX.

So no, don't worry about it. If you don't use AJAX, then you won't have problems on systems where ActiveX is disabled; if you do, then you will have issues regardless of library, unless you use a work-around such as using iframes to submit background requests.

Shog9
+1  A: 

In addition to the reasons for why jQuery might have to use ActiveX (i.e., AJAX), you should also consider that not all usages of jQuery are for AJAX functionality.

matt b
A: 

Independent of the AJAX functionality in IE, there was an issue in jQuery 1.3.2 that caused that banner to display when jQuery was initially loaded, even if you didn't do anything with it. See ticked #4017. The issue has been resolved in changeset #6268 and will be addressed in jQuery 1.3.3 when it is released.

Ryan Morlok
A: 

No regular user is going to click through the yellow bar warning thrown up by IE8 and if they do then they are faced with a rather large intrusive dialogue promising hell and fury if they continue. All I have on my site is some rollover images which use jquery and css to make it fast and enjoyable for the viewer. Yet another IE sucky piece of **. So, is there anyway around this that would see a user unbothered by this? My site works fine in Firefox, Opera and Chrome ~ but this one point makes putting it out there impossible.

Snapafun
A: 

well im glad i discovered this before i added ajax to my site.. MS makes me so mad sometimes, u know they do this stuff intentionally... well, whats the solution, do we pull out the ajax bit from the jquery lib and then what about ajax? omg, im asking a question in some other guys question... thats gotta be against the ruless.. omg, zomg!!1

billy vandory
You do realise that MS didn't 'do' anything, they created the XmlHttpRequest object a decade ago as an ActiveX object, and other browsers co-opted it as it was useful, but had to implement it as a native Javascript object due to lack of ActiveX. MS reimplemented it as a Javascript object in IE7 but it looks like there is was a bug with JQuery not using the new object, thats all.
Moo