cnr_ul trans1x1 cnr_ur
trans1x1
trans1x1
   
 search 
trans1x1
trans1x1
trans1x1
Home > >


Tools : Shockwave Detector,
 

The Code :

<script language="VBScript">
<!--
    //
    // First : the ActivX detector
    //
    Function VBGetShockwaveVer(fVer)

    on error resume next

    Dim sShockwaveControl, sShockwaveVersion
    sShockwaveVersion = "0.0"

    set sShockwaveControl = CreateObject("SWCtl.SWCtl." + CStr(fVer))

    if (IsObject(sShockwaveControl)) then
      sShockwaveVersion = CStr(fVer)
      sShockwaveVersion = CStr(sShockwaveControl.ShockwaveVersion(""))
    end if

    VBGetShockwaveVer = sShockwaveVersion

    End Function
// -->
</script>


<script language="javascript">
<!--

/**
* Second : do the validation
*/
var iStepValue = 10; // Iteration cycles - ref : fTheMinVersion plus this value
var fTheMinVersion = 8.5; // Minimum 'Required' Shockwave verson.

var sTheMaxVersion = (parseInt(iStepValue + fTheMinVersion)); // Maximum loop - counter
var bIsMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
var bIE4plus = (document.all) ? true : false;
var bNN4plus = (document.layers) ? true : false;
var bPlugin = false;
var bWin = (navigator.platform.toLowerCase().indexOf("win") != -1) ? true : false;
var oTheMovie = "", sVB = "", sIsActiveX = "", sNoShockwave = "", sPluginDescription = ""


function shockwaveDetectAxVer(reqVer) {

    if (bIE4plus && bWin) {

      for (var i = sTheMaxVersion; i >= 0; i--) { // loop backwards through the major version values
        for (var h = 0; h < 10; h++){ // loop forward through the minor version values

          versionString = VBGetShockwaveVer(parseFloat( i + "." + h ))

          if (versionString != "0.0") {
            // if we get 1.0 we assume it is actually 6.0
            versionNum = (versionString == "1.0" ? 6.0 : parseFloat(versionString))
            return (reqVer ? ((fTheMinVersion >= versionNum ) ? true : false) : versionNum)
          }
        }
      }
    }
return (reqVer ? false : 0.0);
}


/**
* Third : check for plugins
*/
if (navigator.mimeTypes
&& navigator.mimeTypes["application/x-director"]
&& navigator.mimeTypes["application/x-director"].enabledPlugin) {
    if (navigator.plugins) // check for version
      var sPluginID = navigator.plugins["Shockwave for Director"].description;
      sPluginID.substr((sPluginID.indexOf("version") + 8),3) >= fTheMinVersion ? bPlugin = true : bPlugin = false;

      // show the app name and plug-in version
      sPluginDescription = "<ul>" + navigator.appName + " plug-in : " + navigator.plugins["Shockwave for Director"].description + "</ul>";
    }

    // Browser uses ActiveX Control - test; can we create the obj ? true:false
    else if (bIE4plus && !bIsMac){

    var sShockwaveControl = shockwaveDetectAxVer(fTheMinVersion);

    if (sShockwaveControl && (parseFloat(versionString) >= fTheMinVersion)){
      bPlugin = true;
      sPluginDescription = "<ul>" + navigator.appName + ", Shockwave Control version: " + versionString + "</ul>";
    }
} //-->
</script>

<script language="javascript">
<!--


/**
* Fourth : build and write output string(s)
*/
function doShockwaveValidation(){

    if ( bPlugin ) { // Once we've validated we're Shockwave capabile we can buildup our movie string.

      oTheMovie += '<OBJECT classid="clsid:166B1BCA-3F9C-11CF-8075-444553540000"
      oTheMovie += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab';
      oTheMovie += '#version=8,5,0,0" id=soniccruiser width=500 height=330>';
      oTheMovie += '<param name=src value="3D_progbar.dcr">';
      oTheMovie += '<param name=sw1 value="soniccruiser.dcr">';
      oTheMovie += '<param name=swStretchStyle value=fill>';
      oTheMovie += '<param name=swRemote value="swSaveEnabled=\'true\' swVolume=\'true\'
      oTheMovie += 'swRestart=\'true\' swPausePlay=\'true\' swFastForward=\'true\' ';
      oTheMovie += 'swContextMenu=\'true\' ">';
      oTheMovie += '<param name=bgColor value=#FFFFFF>';
      oTheMovie += '<EMBED src="3D_progbar.dcr" sw1="soniccruiser.dcr" bgcolor=#FFFFFF'
      oTheMovie += 'width=500 height=330 swremote="swSaveEnabled=\'true\' swVolume=\'true\' '
      oTheMovie += 'swRestart=\'true\' swPausePlay=\'true\' swFastForward=\'true\' ';
      oTheMovie += 'swContextMenu=\'true\' swstretchstyle=fill type="application/x-director"'
      oTheMovie += 'pluginspage="http://www.macromedia.com/shockwave/download/">';
      oTheMovie += '</EMBED>';
      oTheMovie += '</OBJECT>';

      document.write( oTheMovie );
    }
    // Shockwave compability is limited or nonexistant - so let's provide an exit with a Shockwave upload option.
    //This is generally where you might place a 'document.replace(theReplacementFile) command.'
    else if (!(navigator.appName
      && navigator.appName.indexOf("Netscape") >= 0
      && navigator.appVersion.indexOf("2.") >= 0)){

      sNoShockwave += '<div><font class="clrWhite">Movie does not support version ';
      sNoShockwave += '<font class="clrRed"> + fTheMinVersion + </font> ';
      sNoShockwave += 'of Shockwave player</font></div>';
      sNoShockwave += '<img src="http://www.3dasa.com/products/soniccruiser/';
      sNoShockwave += 'movie_stars/sc10070.jpg">';
      sNoShockwave += '<div><a href="http://download.macromedia.com/pub/shockwave/';
      sNoShockwave += 'cabs/director/sw.cab#version=8,5,0,0" class="clrWhite">Get Shockwave : ';
      sNoShockwave += '<img src="../images/go_btn.gif" border="0"></a></div>';

      document.write( sNoShockwave );
    }
} //-->
</script>








----------------------------------------------------------------------------------
Finally : call our JavaScript function to make it happen.

    place this on the web page where you want your scene to be.
<!-- Check for and load Shockwave scene - if possible -->
<script language="javascript">doShockwaveValidation()</script>
----------------------------------------------------------------------------------




 
 
North Bend, WA. - USA
 
trans1x1
cnr_ll trans1x1 cnr_lr
trans1x1

copyright © 2001-2003, Ken Workman