New in QuickTime 7, the QuickTime plug-in for Safari is now fully scriptable using JavaScript. This means you can now use JavaScript to control QuickTime when webpages are viewed using Safari.
Two plug-ins are available in QuickTime 7 for Mac OS X v10.4: Carbon and a new Cocoa plug-in. From the user’s perspective, these plug-ins look and behave the same. The Cocoa plug-in works only in Safari, however. The benefit for both users and developers is that the plug-in is now scriptable.
To control a movie through the QuickTime plug-in using JavaScript,
you must include the parameter EnableJavaSript="true" in
the movie’s EMBED tag
(this parameter is not needed in the OBJECT tag,
but it does no harm there).
JavaScript treats each embedded QuickTime movie in a webpage
as a separately addressable object. Movies can be identified by
name if there is a NAME parameter
in the movie’s EMBED tag
and an ID attribute in
the movie’s OBJECT tag.
Internet Explorer for Windows uses the ID attribute.
Other browsers use the NAME parameter.
Both NAME and ID should
be set to the same value.
For example, to create a movie that can be addressed in JavaScript
as Movie1, your OBJECT and EMBED tags
would look something like this:
<OBJECT classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" |
codebase="http://www.apple.com/qtactivex/qtplugin.cab" |
width="180" height="160" |
id="movie1" > |
<PARAM name="src" value="My.mov"> |
<EMBED width="180" height="160" |
src="My.mov" |
name="movie1" |
enablejavascript="true"> |
</EMBED> |
</OBJECT> |
Movies can also be identified by their ordinal number in the
JavaScript embeds[] array.
An example of usage and syntax, showing JavaScript control of multiple QuickTime movies using different methods of addressing, can be found in Sample JavaScript Usage.
QuickTime exposes dozens of methods to JavaScript, allowing you to control not only the standard user interface actions, such as playing and stopping a movie, but also more complex actions, such as layering and compositing. You can use JavaScript, for example, to enable and disable alternate audio, text, or video tracks, or change a video track’s graphics mode or a sprite’s current image.
Detailed descriptions of the QuickTime methods and properties available to JavaScript can be found in JavaScript Support.
Last updated: 2005-04-29