Avatar billede camban Nybegynder
24. september 2005 - 23:35 Der er 9 kommentarer og
1 løsning

Problemer med flash detection

Har hentet macromedias flash detection kit som jeg har forsøgt at bruge til at undersøge om brugeren har flash osv...
I min inkluderede fil har følgende kode liggende:

<script language="JavaScript" type="text/javascript">
<!--
// Version check based upon the values entered above in "Globals"
var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);


// Check to see if the version meets the requirements for playback
if (hasReqestedVersion) {  // if we've detected an acceptable version
    var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
    + 'width="320" height="400"'
    + 'codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0">'
    + '<param name="movie" value="/flash/kontakt.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" />'
    + '<embed src="/flash/kontakt.swf" quality="high" bgcolor="#FFFFFF" '
    + 'width="320" height="400" aligh="middle"'
    + 'play="true"'
    + 'loop="false"'
    + 'quality="high"'
    + 'allowScriptAccess="sameDomain"'
    + 'type="application/x-shockwave-flash"'
    + 'pluginspage="http://www.macromedia.com/go/getflashplayer">'
    + '<\/embed>'
    + '<\/object>';
    document.write(oeTags);  // embed the Flash Content SWF when all tests are passed
  } else {  // flash is too old or we can't detect the plugin
    var alternateContent = '<img scr=/images/kontakt_u_flash.jpg width="320" height="400" alt="">';
    document.write(alternateContent);  // insert non-flash content
  }
// -->
</script>

I index.php har jeg head scriptet liggende.

Der kommer ingenting frem på min side og når jeg trykker egenskaber for flash/billede står der ikke tilgængelig.

Er der hjælp at hente her?
Avatar billede roenving Novice
24. september 2005 - 23:40 #1
Hvor har du DetectFlashVer-funktionen ?-)
Avatar billede camban Nybegynder
24. september 2005 - 23:42 #2
I min index.php (min flash-filer er version 7 måske der er en fejl der?):

<script language="JavaScript" type="text/javascript">
<!--
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version 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;
}
// When 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 );   
            }
        }
    }   
}
// -->
</script>
Avatar billede camban Nybegynder
25. september 2005 - 00:22 #3
Fandt selv ud af det- Skulle bar ændre i:
// Globals
// Major version of Flash required
var requiredMajorVersion = 8; ( ændres til 7)
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
Avatar billede camban Nybegynder
25. september 2005 - 00:23 #4
Kan jeg på nogen måde se om det virker (erstatter med billede) hvis man ikke har flash player 7?
Avatar billede roenving Novice
25. september 2005 - 00:28 #5
Du kan vel prøve at slå understøttelsen af activeX-objekter fra i

Funktioner --> Internetindstillinger... --> Sikkerhed --> Brugerdefineret niveau --> ActiveX osv ...
Avatar billede camban Nybegynder
25. september 2005 - 00:42 #6
Tak, fik det hele til at virke (en del stave/slåfejl) og fik testet det:o) Vil ud have lidt point for hjælpen?
Avatar billede roenving Novice
25. september 2005 - 00:50 #7
Oki, hvis du selv beholder de fleste '-)
Avatar billede camban Nybegynder
25. september 2005 - 11:34 #8
Jeg kunne ikke lige finde ud af hvordan jeg gav nogle point til dig og nogle til mig...så du fik dem alle :o)
Avatar billede roenving Novice
25. september 2005 - 22:06 #9
Så skal du også selv lægge et svar !-)

-- se f.eks. http://expfaq.1go.dk ...

-- og tak for point ;~}
Avatar billede roenving Novice
25. september 2005 - 22:07 #10
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester