May 13, 2001 - Embedding SWFs | WebReference

May 13, 2001 - Embedding SWFs

Yehuda Shiran May 13, 2001
Embedding SWFs
Tips: May 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

In some of your applications you may need to use Flash Audio and JavaScript directly, without any prepackaged APIs such as FlashSound JavaScript API. You will enjoy more features, methods, and properties, but you'll have to take care of all the tiny details that are taken for granted when using FlashSound API.

One of these "tiny" details is embedding the SWF. We use the <EMBED> tag in Netscape Navigator, and the <OBJECT> tag in IE. In IE the size is minimal, 1x1. Netscape Navigator 4.7 requires a minimum size of 1x2. We hide the SWF by coloring it with the same background color of the page. The function Flash_embedSWF() does the embedding. It takes two arguments: the SWF's URL and the object color. Here is the code:

function Flash_embedSWF(srcURL, swfbgColor) {
  if (!Flash_checkForMinPlayer()) return;
  var defaultColor = (document.bgColor != null) ? document.bgColor : "#ffffff";
  var bgcolor = (swfbgColor != null) ? swfbgColor : defaultColor;
  document.writeln(
   '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' +
   'codebase="https://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0"' +
   'ID="sonify" WIDTH=1 HEIGHT=1>' +
   '<PARAM NAME=movie VALUE="' + srcURL + '">' +
   '<PARAM NAME=quality VALUE=low>' +
   '<PARAM NAME=wmode VALUE=transparent>'+
   '<PARAM NAME=bgcolor VALUE=' + bgcolor + '>' +
     '<EMBED swLiveConnect="true" NAME="sonify"' +
      'src="' + srcURL + '"' +
      'quality=low' +
      'wmode=transparent' +
      'bgcolor=' + bgcolor +
      'WIDTH=1 HEIGHT=2' +
      'TYPE="application/x-shockwave-flash"'+
      'PLUGINSPAGE="https://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">' +
     '</EMBED>' +
   '</OBJECT>'
   );
}