Netscape DevEdge

Skip to: [content] [navigation]

Netscape Gecko Plugin Overview

Introduction

Netscape Gecko is a standards-based browser embedded in Netscape 6.x and 7.x, AOL for Mac OS X, CompuServe 7, and Mozilla.

This document outlines what websites who wish to provide streaming media experiences to Gecko-based browsers can do, and also presents information for those wishing to develop Netscape-style plugins, or augment existing Netscape-style plugins.

A Definition of Terms

General Recommendations

This document assembles some material useful to web sites wishing to deploy streaming media alongside their standard web content (DHTML, JavaScript, etc.).

All major plugins work well with Netscape Gecko. In particular, the following plugins are now scriptable:

  1. Macromedia's latest Flash player, released in December 2002. A DevEdge article deals specifically with scripting the Flash plugin in Netscape Gecko browsers -- this is the most up to date information, including information on detection, etc. The latest Flash release added support for WMODE (transparency) on the Windows (Flash 6r65) and MacOSX (Flash 6r67) platforms. Netscape 7.02 for Windows, released February 2003, shiped with this new, WMODE-capable Flash. The scriptable versions are Flash 6 r40 and onwards. Versions before Flash 6 r40 worked with Netscape Gecko browsers, but were not scriptable. See the section on Flash for more information.
  2. Apple's Quicktime 6 player, which is now fully scriptable. Quicktime 6 and onwards are scriptable in Netscape Gecko browsers, but Quicktime 5.x and before are not scriptable in Netscape Gecko browsers. See the section on Quicktime for more information.
  3. The Viewpoint player, for 3D animation and graphics viewing. Viewpoint's MetaStream plugin will ship with Netscape 7.0 and later versions of Netscape. A DevEdge article deals with the scripting of the ViewPoint plugin in Netscape Gecko browsers -- this is the latest information on ViewPoint content in Netscape Gecko.
  4. RealPlayer 8, bundled with Netscape browsers, including Netscape 7.0 and later. Note that RealPlayer 8 is considered a legacy product by RealNetworks.
  5. RealOne player, which is RealNetworks latest revision to their player. This version is not bundled with Netscape browsers, but is available for download from http://www.realone.com/ . In particular, click here to download the free RealOne player .
  6. Netscape 7.1 will ship with support for Microsoft Windows Media Player as an ActiveX control. Though the Windows Media Player plugin is not scriptable, now that Netscape 7.1 supports the loading of the ActiveX component directly into web pages rendering in Netscape 7.1, Windows Media Player is now fully scriptable in Netscape 7.1. An article on DevEdge deals with the scripting of the Windows Media Player in Netscape 7.1 -- this is the latest information on Windows Media Player.

The following general recommendations hold true for all of the plugins mentioned in this article:

  1. The most up-to-date on whether to use the EMBED element or the OBJECT element in order to include plugins in HTML pages rendering on Netscape Gecko browsers can be found in the DevEdge article that discusses this in detail. Note that with the release of Netscape 7.1, the OBJECT element can now be used to include the Windows Media Player as an ActiveX control -- see the article on Windows Media Player and Netscape 7.1.
  2. Most of these plugins can be invoked with a unique MIME type that is different from the actual MIME type of the file being deployed. This unique MIME type is called an invocation MIME type in this article, and is a MIME type determined by the plugin manufacturer. This means that the MIME type that the type attribute refers to in both the OBJECT and the EMBED tag need not match the MIME type of the source being referred to in the data or src attributes respectively. This is best seen with some examples for Real and Windows Media Player that are described later in this document. Invocation MIME types are useful because they allow you to invoke a specific plugin, despite the configuration of the end-user's hard drive.
  3. It is possible to use the OBJECT tag with Netscape Gecko browsers (to be W3C compliant in HTML 4.01 and XHTML), and it is recommended that you nest your OBJECT tags for Gecko-based browsers inside the OBJECT tags for IE as shown in the example. However, the OBJECT tag usage in Netscape Gecko browsers is subject to a few caveats:
  4. It is best to nest your EMBED tag within your OBJECT tag -- this has been the mechanism of invoking both ActiveX controls for IE and Netscape plugins for Netscape browsers ever since the release of Netscape Communicator 4.x
  5. You can use JavaScript to determine what plugins are installed in the browser, and what versions of the plugins are installed. These techniques are mentioned in the section on QuickTime.

RealPlayer

The RealPlayer plugin (both RealPlayer 8 and RealOne) are fully exposed to JavaScript calls that Real has publicized for DHTML and JavaScript programmers: http://service.real.com/help/library/guides/extend/embed.htm

Recommendations:

Note that the invocation MIME type doesn't always reflect the MIME type of the actual resource, e.g. in the above example, although we are deploying the AVI file type, in lieu of using the affiliated MIME type, namely video/avi, we are saying audio/x-pn-realaudio-plugin. You do not have to use an invocation mimetype, but then you have no guarantee of what plugin will ultimately be loaded in the end user's browser while viewing your web page. Invocation MIME types provide you with more control.

Windows Media Player

Products using Netscape Gecko do not ship with Windows Media Player. However Windows Media Player 7.0 and 7.1 function perfectly within Netscape Gecko browsers, with the exception of scriptability, which only works with Netscape 7.1, which loads the Windows Media Player as an ActiveX control. Furthermore, Windows Media Player does ship with the Windows XP Operating System, and works well as a Helper Application. More information on Windows Media Player can be found in the DevEdge Article on Windows Media Player.

What's Supported:

Note that the use of the OBJECT tag assumes that the plugin exists on the desktop, and doesn't tell you where to get it if it is missing. The EMBED tag allows you to provide the pluginspage attribute, telling users where to obtain the plugin if it is not present. Future Netscape Gecko browsers will allow the use of the codebase attribute with the OBJECT tag as an equivalent for the pluginspage or pluginurl attributes in the EMBED tag.

Note also that in both the OBJECT tag and EMBED tag examples above, in order to force Windows Media Player to open the AVI (and not have the API handled by any other plugin), the express use of invocation MIME Types is made use of. Similar to the RealPlayer example above, the use of the application/x-mplayer2 MIME type opens the AVI file in Windows Media Player, and this MIME type is used in lieu of the video/avi MIME type. Additional Invocation MIME Types for Windows Media Player include:

Mime Type Description Suffixes Enabled
application/asx Media Files * Yes
video/x-ms-asf-plugin Media Files * Yes
application/x-mplayer2 Media Files * Yes
video/x-ms-asf Media Files (*.asf,*.asx) asf,asx,* Yes
video/x-ms-wm Media Files (*.wm) wm,* Yes
audio/x-ms-wma Media Files (*.wma) wma,* Yes
audio/x-ms-wax Media Files (*.wax) wax,* Yes
video/x-ms-wmv Media Files (*.wmv) wmv,* Yes
video/x-ms-wvx Media Files (*.wvx) wvx,* Yes

Note that the first three MIME Types above are not associated with any file type, but are generic MIME Types for Windows Media Player. The player can be invoked with these MIME Types irrespective of the actual codec or suffix of the media.

QuickTime

QuickTime is not bundled with Netscape Gecko browsers, but is a nice alternative for Mac users. QuickTime's installer will recognize all Netscape Gecko-based browsers, and is available from http://www.apple.com/quicktime/ . Unlike other plugins mentioned here, QuickTime offers users an extensive ability to control what QuickTime's Netscape-style plugin itself can handle. This means that you need not deploy content using invocation MIME types, but can use whatever the user has configured the plugin to handle. In order to configure the QuickTime Plugin:

You can programmatically determine (via JavaScript) what settings the QuickTime plugin is running by querying the mimetypes array for the setting you want (navigator.mimetypes[]). Thus, if the user adds video/avi to the list of MIME types supported by the QuickTime plugin, it will now appear in the MIME types array.

Recommendations:

Macromedia Flash

All Netscape Gecko products, except Mozilla, ship with a version of Flash. Flash 6 r65 (released December 2002) is bundled with Netscape 7.02, which is scriptable and supports WMODE. Netscape 7.0 bundled Flash 6 r40, which is scriptable and was released for public download on July 2002. Netscape 6 and CompuServe 7 shipped with the earlier Flash 5 version.

Recommendations:

For the best user experience and simplest code maintenance we recommend you do not detect Flash versions unless you want users to upgrade to the latest version due to these issues:

Java

All Netscape Gecko products, except Mozilla, ship with a version of Java. Unlike Netscape Communicator 4.x, the Java Virtual Machine integration into Netscape Gecko browsers is entirely by way of plugin architecture, and the chief vendor is Sun's JavaSoft division. Netscape Communications no longer makes a Java Virtual Machine, and thus, Sun's JRE often has different behavior with respect to runtime. Netscape 7 has JRE 1.4.0_01, with earlier releases, such as Netscape 6.2.1, using an earlier version of the JRE.

Recommendations and Caveats:

Additional Development Resources

Building Your Own Netscape-style Plugin

The Netscape Plugin API is a well documented and stable API that has been around since the very early days of Netscape browsers. There have been a few architectural changes, and thus developing a plugin for both the Netscape Communicator 4.x series and for Netscape Gecko browsers is possible. Here are the relevant caveats and reference material:

Installing Your Plugin

In general, since Netscape Gecko is an embeddable browser technology, the number of browsers based on Netscape Gecko have grown, and now includes CompuServe, Netscape 6.x and 7.0, and variants of AOL's public beta. On Windows, using the Win32 System Registry, there's a way to locate all these browsers, and the plugins directories where they are installed. An EXE installer or an InstallShield application ought to read the Win32 System Registry and install the DLLs to the Netscape-Gecko browsers that it interoperates with.

In addition, a robust plugin installer ought to solve the problem of first installation -- namely, what to do when the plugin software is installed first, and the browser is installed second. The plugin should leave information on how it can be found later on.

SmartUpdate vs. XPInstall

In Netscape Communicator 4.x browsers, the preferred mechanism for installing plugins was SmartUpdate, which involved signed JAR files (rather like signed CAB files in IE) and JavaScript as the installer-language. This delivery mechanism allowed plugins to be delivered dynamically to end-users, without necessitating a departure from the browser or without restarting the browser. But SmartUpdate is no longer supported in Netscape Gecko-based browsers. Instead, the technology that replaces it is XPInstall (also abbreviated as XPI and pronounced "zippy"). XPInstall is capable of doing everything SmartUpdate could do in Netscape Communicator 4.x::

The main page for XPInstall information is: DevEdge's XPInstall Guidelines article . Here are some important caveats about XPInstall:


Netscape Gecko's Equivalent to ActiveX Controls

Netscape Gecko-based browsers don't support Microsoft Internet Explorer's ActiveX controls, and in general, proprietary APIs are discouraged in favor of support of W3C Web Standards.
For ActiveX developers, Netscape Gecko-based browsers do provide alternatives to perhaps achieve the same goals.

Equivalent Mechanisms in Netscape Gecko-based browsers

These present solutions to consider above and beyond the W3C web standards:


    • chrome:// and XUL are windowing toolkit technologies which can create compelling applications outside the context of DHTML and a webpage. Using XUL/JavaScript and jar files deployed with a suitable XPInstall, you can really enhance the features of the browser.

A+R