Comunidad de diseño web y desarrollo en internet online

Redireccionar con Javascript

Citar            
MensajeEscrito el 16 Feb 2009 09:43 pm
Saludos

Tengo 2 páginas. Una con contenido estático html y otra con contenido hecho en flash. Conozco la existencia del detection kit de Adobe, pero lo que quiero es que el usuario vea mi contenido sin hacerlo instalar ni atualizar nada, simplemente si no tiene el flash player necesario, que lo mande para el html estático. Alguien sabe algún código para ésto?

Por julianmedellin

7 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 20 Feb 2009 05:25 am
Es una modificacion del Detection Kit. Espero te sirva. Avisanos como te va.

Código :

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;
var VersionMayorNecesaria = 10;
var VersionMenorNecesaria = 0;
var RevisionNecesaria = 2;

function ControlVersion(){
   var version;
   var axo;
   var e;
   // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
   try {
      // version will be set for 7.X or greater players
      axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
      version = axo.GetVariable("$version");
   } catch (e) {
   }
   if (!version){
      try {
         // version will be set for 6.X players only
         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
         
         // installed player is some revision of 6.0
         // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
         // so we have to be careful. 
         
         // default to the first public version
         version = "WIN 6,0,21,0";
         // throws if AllowScripAccess does not exist (introduced in 6.0r47)      
         axo.AllowScriptAccess = "always";
         // safe to call for 6.0r47 or greater
         version = axo.GetVariable("$version");
      } catch (e) {
      }
   }
   if (!version){
      try {
         // version will be set for 4.X or 5.X player
         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
         version = axo.GetVariable("$version");
      } catch (e) {
      }
   }
   if (!version){
      try {
         // version will be set for 3.X player
         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
         version = "WIN 3,0,18,0";
      } catch (e) {
      }
   }
   if (!version){
      try {
         // version will be set for 2.X player
         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
         version = "WIN 2,0,0,11";
      } catch (e) {
         version = -1;
      }
   }
   
   return version;
}

function ObtenerSwfVersion(){
   // NS/Opera version >= 3 check for Flash plugin in plugin array
   var flashVer = -1;
   
   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;
         var descArray = flashDescription.split(" ");
         var tempArrayMajor = descArray[2].split(".");         
         var versionMajor = tempArrayMajor[0];
         var versionMinor = tempArrayMajor[1];
         var versionRevision = descArray[3];
         if (versionRevision == "") {
            versionRevision = descArray[4];
         }
         if (versionRevision[0] == "d") {
            versionRevision = versionRevision.substring(1);
         } else if (versionRevision[0] == "r") {
            versionRevision = versionRevision.substring(1);
            if (versionRevision.indexOf("d") > 0) {
               versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
            }
         }
         var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      }
   }
   // 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;
   else if ( isIE && isWin && !isOpera ) {
      flashVer = ControlVersion();
   }   
   return flashVer;
}

function DetectarFPVersion(VerMayor, VerMenor, Revision){
   versionStr = ObtenerSwfVersion();
   if (versionStr == -1 ) {
      return false;
   } else if (versionStr != 0) {
      if(isIE && isWin && !isOpera) {
         // Obtenemos "WIN 2,0,0,11"
         tempArray         = versionStr.split(" ");    // ["WIN", "2,0,0,11"]
         tempString        = tempArray[1];         // "2,0,0,11" 
         versionArray      = tempString.split(",");   // ['2', '0', '0', '11']
      } else {
         versionArray      = versionStr.split(".");
      }
      var versionMajor      = versionArray[0];
      var versionMinor      = versionArray[1];
      var versionRevision   = versionArray[2];
           // is the major.revision >= requested major.revision AND the minor version >= requested minor
      if (versionMajor > parseFloat(VerMayor)) {
         return true;
      } else if (versionMajor == parseFloat(VerMayor)) {
         if (versionMinor > parseFloat(VerMenor))
            return true;
         else if (versionMinor == parseFloat(VerMenor)) {
            if (versionRevision >= parseFloat(Revision))
               return true;
         }
      }
      return false;
   }
}

window.onload = function (){
   var VersionCorrecta = DetectarFPVersion(VersionMayorNecesaria, VersionMenorNecesaria, RevisionNecesaria);
   if(!VersionCorrecta) {//Si el usuario no tiene instalado Flash Player lo redirecciona donde quieras
      window.location("http://www.tusitioenhtml.com")
   } 
}

Por eseceve

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Feb 2009 01:10 am
Hermano muchas gracias por tu tiempo. Estoy un poco atareado con otras cosas, pero apenas me desocupe, me dedico a este asunto. Igual me toca desintalar varios programas para ver que si funcione. Apenas ensaye te aviso como me fue y de nuevo gracias

Por julianmedellin

7 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.