> If QuickTime is not installed it tries to auto-install when I
> run my scripts. Does anyone know of a way to test for QuickTime without
> having it auto-install if it's not present?

It's actually quite tricky completely preventing ActiveX controls from trying
to install their software.

You should be able to leave the 'codebase="..."' attribute off the <object>
to prevent IE from trying to install software. Problem is, IE still tries: it
asks microsoft.com where it can get an ActiveX install package for the given
classid. Don't know if this actually comes up with a working answer for
QuickTime (doubt it, being Apple's baby), but it's annoying that it makes the

(It's possible to stop IE doing this by using a nasty 'dummy codebase' hack.
codebase="javascript:" works in IE versions before IE6 Service Pack 1;
codebase="view-source:about:blank" works in all IE6 but crashes IE5.)

> I'm first checking to see if QuickTime is installed with:
>     document.writeln('    Set hasQuickTimeChecker =
>       CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")');

You don't need to use VB - let alone scripts-writing-scripts - to try to
create an ActiveX object. JScript can do it with 'new ActiveXObject()'.

This still only covers IE though. For a complete script that works with IE and
browsers that support the navigator.plugins array, see:


Another possible approach would be to sniff for IE-without-QuickTime only,
and output the plain <object> in every other case (since IE is the only
browser that treats lack-of-plugin as such a dire emergency it has to pester
you with a pop-up on every page).

  <script type="text/javascript">
    var obj= 'QuickTimeCheckObject.QuickTimeCheck';
    var qt= true;
    if (window.ActiveXObject) {
      qt= false;
      eval('try{qt= new ActiveXObject(obj)}catch(e){}');

  <p> document </p>

  <script type="text/javascript">
    if (!qt) document.write('\x3C!-'+'-');
    your normal object tag here, but don't use a comment in it
  <!-- -->

  <p> document continues </p>

(And yes, what I'm doing with the comment is indeed evil. But I can justify
evil if only IE sees it.)