ActiveX Control for Hosting Netscape plugins in IE

Back to Main Page

Important Note!

This project is now hosted on the mozilla.org website. Please update your bookmarks to the new link for up to date news and information..

Introduction

Microsoft has removed support for Netscape plugins from IE 5.5 SP 2 and beyond. If you are a plugin author, you may find this project saves you a lot of work!

In a nutshell, I have written a control that implements the NP API and hosts most Netscape-compatible plugins. You can use your plugins in any recent version of IE or in any other ActiveX container for that matter. The control itself is implemented in a DLL called pluginhostctrl.dll which is standalone from the rest of the Mozilla project. 

The sections below tell you how to fetch, build and use it.

Get the source

You need CVS to get the source code. Assuming you have CVS somewhere in your path, type this from a command prompt:

C:\> set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
C:\> set HOME=\TEMP
C:\> cvs login
(Logging in to anonymous@cvs-mirror.mozilla.org)
CVS password: anonymous
C:\> cvs -z3 co mozilla/embedding/browser/activex/src/pluginhostctrl

This fetches the source for the control into mozilla\embedding\browser\activex\src\pluginhostctrl. 

You can also see the code online.

Build it

It is quite simple to build the control

  1. Locate the pluginhostctrl directory:
  2. Open pluginhostctrl.dsp
  3. Build "Win32 Debug" or another target
  4. Open some of the test files under pluginhostctrl\tests in Internet Explorer to verify the control has built and registered correctly.

The control currently reads plugins from your most current Netscape 4.x and IE installations. There is no support for Mozilla or NS 6.x yet.

A note to developers

If you intend to modify this control IN ANY WAY then you MUST also change the CLSID and other GUIDs this control relies upon. This is necessary to prevent your control from registering itself over this control or vice versa.

Use a tool such as guidgen.exe or uuidgen.exe to create new GUIDs and replace all instances in the pluginhostctrl.idl, PluginHostCtrl.rgs files and elsewhere.

Manual installation

Assuming you have the precompiled pluginhostctrl.dll and wish to install it on a machine, you must register it:either through an install script or manually:

regsvr32 pluginhostctrl.dll

You must have administrator privileges to install a new control on operating systems such as Windows NT, 2000 & XP.

Usage

Insert some HTML like this into your content:

<OBJECT CLASSID="CLSID:DBB2DE32-61F1-4F7F-BEB8-A37F5BC24EE2"
    WIDTH="500" HEIGHT="300">
  <PARAM name="type" value="video/quicktime"/>
  <PARAM name="src" value="http://www.foobar.com/some_movie.mov"/>
  <!-- Custom arguments -->
  <PARAM name="loop" value="true"/>
</OBJECT>

The CLASSID attribute tells IE to create an instance of the plugin hosting control, the WIDTH and HEIGHT specify the dimensions in pixels.

The following <EMBED> attributes have <PARAM> tag equivalents:

You may also supply any custom plugin parameters as additional <PARAM> elements.

Still to do


Back to Main Page