-
detect flash 8 users
is there a code which detects if the computer has flashplayer 8 installed?
i made a movie with flash 8, i want the flash 8 users to see the movies. and i want to redirect the flash player 6 users to a www which tells them to download the F8 as to see the movie
how can i do that?
-
Senior Member
Go to publish settings and select html then check the detect flash player box and publish the movie. that is the simplest solution.
- The right of the People to create Flash movies shall not be infringed. -
-
If you would like something more advanced I have code embeded in my html that detects the flash version depending on what I say is the requirement and redirects them accordingly.
This page will not only detect flash version and redirect to noflash.html (this you can change if you wish). But it will also dynamically expand your flash movie to the size of the window if you want it to. All of these options are shown below.
Enjoy!
Code:
<html>
<head>
<title>Flash Evolved: Glass</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- © Flash Evolved 2006 -->
<script language="JavaScript">
<script language="JavaScript" type="text/javascript">
<!--
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
// -----------------------------------------------------------------------------
// -->
</script>
<script language="VBScript" type="text/vbscript">
<!-- // Visual basic helper required to detect Flash Player ActiveX control version information
Function VBGetSwfVer(i)
on error resume next
Dim swControl, swVersion
swVersion = 0
set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))
if (IsObject(swControl)) then
swVersion = swControl.GetVariable("$version")
end if
VBGetSwfVer = swVersion
End Function
// -->
</script>
<script language="JavaScript1.1" type="text/javascript">
<!-- // Detect Client Browser type
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
// NS/Opera version >= 3 check for Flash plugin in plugin array
if (navigator.plugins != null && navigator.plugins.length > 0) {
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
descArray = flashDescription.split(" ");
tempArrayMajor = descArray[2].split(".");
versionMajor = tempArrayMajor[0];
versionMinor = tempArrayMajor[1];
if ( descArray[3] != "" ) {
tempArrayMinor = descArray[3].split("r");
} else {
tempArrayMinor = descArray[4].split("r");
}
versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
} else {
flashVer = -1;
}
}
// MSN/WebTV 2.6 supports Flash 4
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
// WebTV 2.5 supports Flash 3
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
// older WebTV supports Flash 2
else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
// Can't detect in all other cases
else {
flashVer = -1;
}
return flashVer;
}
// If called with no parameters this function returns a floating point value
// which should be the version of the Flash Player or 0.0
// ex: Flash Player 7r14 returns 7.14
// If called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
reqVer = parseFloat(reqMajorVer + "." + reqRevision);
// loop backwards through the versions until we find the newest version
for (i=25;i>0;i--) {
if (isIE && isWin && !isOpera) {
versionStr = VBGetSwfVer(i);
} else {
versionStr = JSGetSwfVer(i);
}
if (versionStr == -1 ) {
return false;
} else if (versionStr != 0) {
if(isIE && isWin && !isOpera) {
tempArray = versionStr.split(" ");
tempString = tempArray[1];
versionArray = tempString .split(",");
} else {
versionArray = versionStr.split(".");
}
versionMajor = versionArray[0];
versionMinor = versionArray[1];
versionRevision = versionArray[2];
versionString = versionMajor + "." + versionRevision; // 7.0r24 == 7.24
versionNum = parseFloat(versionString);
// is the major.revision >= requested major.revision AND the minor version >= requested minor
if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
return true;
} else {
return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );
}
}
}
return (reqVer ? false : 0.0);
}
// -->
</script>
</head>
<BODY bgcolor="#FFFFFF" leftmargin="0" rightmargin="0" topmargin=0 marginheight="0" marginwidth="0">
<div id="data" style="position:absolute; left:0; top:0;width:720; height:600;visibility:hidden"></div>
<SCRIPT LANGUAGE=JavaScript1.1>
<!-- Denim Data
var largeSize = (screen.width >= 2600);
var flashWidth = (largeSize) ? "100%" : "100%";
var flashHeight = (largeSize) ? "100%" : "100%";
var flashName = "flash.swf";
var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
if ( hasRightVersion ) {
document.write('<CENTER><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
document.write(' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,65,0,0" ');
document.write(' ID="Flash" WIDTH="' + flashWidth + '" HEIGHT="' + flashHeight + '" ALIGN="">');
document.write(' <PARAM NAME=movie VALUE="' + flashName + '"> <PARAM NAME=loop VALUE=false> <PARAM NAME=menu VALUE=false> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> ');
document.write(' <EMBED src="' + flashName + '" loop=false menu=false quality=high bgcolor=#FFFFFF ');
document.write(' swLiveConnect=FALSE WIDTH="' + flashWidth + '" HEIGHT="' + flashHeight + '" NAME="Flash" ID="Flash" ALIGN=""');
document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">');
document.write(' </EMBED>');
document.write(' </OBJECT></CENTER>');
} else{
window.location="noflash.html";
}
//-->
</SCRIPT>
</body></html>
-
This solution looks great! Just what I've been looking for, because the "built-in" one when you publish doesn't seem to tell the user that they need v8+. Has anyone tested this out yet? It's just that I've never seen a <script> tag for javascript embeded in the <body> before...
-
That looks good. I'm trying to do something similar.
I have a window that pops up that's about the right size for my 1344x1008 screen. I don't want it any bigger if the user has a bigger monitor, but some of the navigation isn't visible on smaller screens. Would this code work so the entire window will be visible for smaller monitors, yet stay the same for monitors at least 1000 pixels wide:
<SCRIPT LANGUAGE=JavaScript1.1>
<!-- Denim Data -->
var smallSize = (screen.width <= 1000);
var flashWidth = (smallSize) ? "90%" : "90%";
var flashHeight = (largeSize) ? "90%" : "90%";
var flashName = "flash.swf";
</script>
Thanks.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|