Welcome, Guest. [ Log In ]
Question   Supporting ActiveX for Certain Browsers
Search KBase


Top 4 in this Area:
1. Accessing your QuickTime Streaming server.
2. How do I add QuickTime Streaming Service to my account?
3. How much does QuickTime Streaming cost?
4. Supporting ActiveX for Certain Browsers

 
Supporting ActiveX for Certain Browsers
Windows Internet Explorer 5.5 SP2 and 6.0 with QuickTime
IMPORTANT INFORMATION FOR WEB DEVELOPERS & WEBMASTERS

Microsoft Internet Explorer for Windows, versions 5.5 SP2 and 6.0 (soon to be released) no longer support Netscape-style plug-ins, such as the plug-in installed as part of QuickTime 5.0.2 and earlier versions. Consequently, Windows customers using these versions of Explorer who visit your site may be unable to view QuickTime content in the browser. To mitigate this problem and to ensure a positive experience for your Web site visitors, you should add to your site the HTML code that makes available the new ActiveX control for QuickTime, as described below.

NOTE: THIS ISSUE AFFECTS ONLY USERS OF INTERNET EXPLORER ON WINDOWS.

BACKGROUND
QuickTime uses a plug-in mechanism to display movies from your Web page in the user's browser. Before, you would use an EMBED element alone to display QuickTime content within the browser, much like in the example below:

<EMBED src="sample.mov" width="160" height="144" autoplay="true"
CONTROLLER="false"
PLUGINSPAGE="http://www.apple.com/quicktime/download/"> </EMBED>

For this mechanism to work, the user must have the QuickTime plug-in installed on his or her system. If the appropriate QuickTime plug-in is not installed, when your HTML page with QuickTime content is loaded into the user's browser, the movie is not visible. Instead, the browser replaces it with a "broken plug-in icon" and attempts to assist the user in obtaining the required software. An unfortunate side effect of this approach is that the user is directed away from your site and is distracted by the installation process.

THE ISSUE Until recently, the plug-in installed as part of QuickTime worked for both Netscape browsers and Microsoft Internet Explorer on both Windows and Mac OS. Now Windows users who try to play a QuickTime movie in Internet Explorer version 5.5 SP2 or later will encounter the "broken plug-in icon" until they install the new QuickTime ActiveX control from Apple in addition to the QuickTime plug-in. Users of other browsers on either Windows or Mac OS are unaffected--they can continue to use the plug-in installed with QuickTime and do not need to get the new QuickTime ActiveX control.

Once users have the new ActiveX control installed, they are also unaffected; they can also view existing pages.

THE SOLUTION When authoring web pages, you can easily prevent this problem by authoring your HTML to check that the required ActiveX control is installed wherever you have QuickTime content embedded. This HTML change will result in web pages compatible with Netscape and Internet Explorer browsers on both Mac and Windows systems (see below for more information).

The required code consists of an HTML OBJECT element with an enclosed EMBED element as in the following example:

<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
width="160" height="144"
CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">
<param name="src" value="sample.mov">
<param name="autoplay" value="true">
<param name="controller" value="false">
<embed src="sample.mov" width="160" height="144" autoplay="true"
CONTROLLER="false"
PLUGINSPAGE="http://www.apple.com/quicktime/download/"></EMBED>
</OBJECT>

CLASSID must always equal:
clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B
CODEBASE must always equal:
http://www.apple.com/qtactivex/qtplugin.cab
PLUGINSPAGE must always equal:
http://www.apple.com/quicktime/download/

The other attributes should be customized to your web page. You need to substitute "sample.mov" (in both SRC attribute elements) with the URL of the actual movie to be played. You should also change the HEIGHT and WIDTH parameters to match the height and width of the movie (in pixels).

If you already have EMBED elements for the QuickTime plug-in on the relevant pages, you need to enclose each of them in an OBJECT element with CLASSID and CODEBASE parameter values as shown above and with SRC and other parameter values to match those in your existing EMBED element. The OBJECT element can use any EMBED attributes QuickTime understands. Visit http://www.apple.com/quicktime/authoring/embed.html for more information.

For existing web pages, it may be sufficient to add such an OBJECT element to the "front door" page of your site. Once the OBJECT element on the "front door" page has caused the user to install the ActiveX control, all subsequent pages with the original EMBED elements will work properly. In cases where you cannot be certain that the "front door" page is always visited, then all your pages should be revised to use these OBJECT elements.

HOW IT WORKS
The OBJECT element is used by Internet Explorer on Windows 9x/NT/2000/XP platforms and by other browsers that support the QuickTime ActiveX control. The enclosed EMBED element is used by Netscape browsers, Internet Explorer for the Mac, and other browsers that support the "Netscape style" QuickTime plug-in. Browsers that understand the OBJECT element ignore the EMBED element; those that don't understand the OBJECT element use the EMBED element.

Within the OBJECT element, the CLASSID parameter uniquely identifies which ActiveX control to use. A CLASSID parameter with the value "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" tells Internet Explorer to use the QuickTime ActiveX control. (You must use exactly this value; it is the only value that identifies the QuickTime ActiveX control). If the user does not already have the ActiveX control installed on his or her system, the CODEBASE parameter tells the browser where to find it for downloading. Internet Explorer will automatically offer to download and install the ActiveX control for the user, after which the movie can be played without restarting the browser, or, if QuickTime is not already installed, will prompt the user to download and install QuickTime. You must always use "http://www.apple.com/qtactivex/qtplugin.cab" for the CODEBASE URL. This URL will always have the latest version of the QuickTime ActiveX control.

Because a browser will use either the OBJECT element or the EMBED element, but not both, most of the element attributes must be included in each. Note that in the example above the EMBED element has autoplay="true" and the OBJECT element has , so the movie will begin to play automatically whether it is loaded with the QuickTime ActiveX control or the QuickTime plug-in. The only attributes that should not be duplicated are CLASSID, CODEBASE, and PLUGINSPAGE. CLASSID and CODEBASE are specific to the OBJECT element. PLUGINSPAGE is specific to the EMBED element.

Although Windows Internet Explorer 5.5 SP2 and 6.0 will no longer use the QuickTime plug-in, once the QuickTime ActiveX control has been installed on a user's system, these versions of Internet Explorer will use the installed ActiveX control to satisfy a properly coded EMBED element.

ADDITIONAL READING

For more information on the OBJECT element, see:

  • The W3C Web site at
    http://www.w3.org/TR/REC-html40/struct/objects.html#edef-OBJECT

For more information on HTML in general, see:

  • HTML & XHTML: The Definitive Guide 4th Edition, by Chuck Musciano & Bill Kennedy, published by O'Reilly.
  • Dynamic HTML: The Definitive Reference, by Danny Goodman, published by O'Reilly.

For more information about QuickTime on Web sites, see:
QuickTime for the Web, published by Morgan Kaufmann Publishers.

For more information on Internet development, see:
http://developer.apple.com/internet/

Last updated: Aug 22, 2001.

User Post (2004-09-23 13:01:57 by cbrentano)
Apple has a nice little JavaScript that you can use as well due to changes in IE after the Eolas ruling, more info at http://developer.apple.com/internet/ieembedprep.html