Aporte: Detectar plugin instalado en el navegador web

  • Autor Autor marjuanm
  • Fecha de inicio Fecha de inicio
marjuanm

marjuanm

Zeta
Programador
Verificación en dos pasos activada
Que tal, les comparto una función para detectar si un plugin en especial (vía mime) está instalado o no en el navegador web, probado en firefox e internet explorer:

<html>
<head>
<script language="JavaScript">
<!--

//thanks to Código de JavaScript - Simular la función Trim() en JavaScript
function trim(str)
{

var i;

if(str != null)
{

for(i=0; i<str.length; i++)
{

if(str.charAt(i)== " ")
str = str.substring(i+1, str.length);
else
break;

}

for(i=str.length-1; i>=0; i=str.length-1)
{

if(str.charAt(i)== " ")
str = str.substring(0,i);
else
break;

}

}
else
str = "";

return str;

}

function replaceAll(str, strtofind, strtoreplace)
{

var pos, found, str1, str2;

if(trim(str) == "")
return "";
else
{

found = true;

while(found == true)
{

pos = str.indexOf(strtofind);

if(pos >= 0)
found = true;
else
found = false;

if(found == true)
{

str1 = str.substring(0, pos);
str2 = str.substring(pos + strtofind.length, str.length);
str = str1 + strtoreplace + str2;

}

}

return str;

}

}

//thank to Javascript and plug-ins
function existspluginsinstalledalready(mime)
{

var i, plugin, myarray, found = false;

if(trim(mime) == "")
return false;
else
{

for(i=0; i < navigator.mimeTypes.length; i++)
{

if(trim(mime).indexOf("/") > 0)
{

myarray = trim(mime).split("/");
mime = trim(myarray[1]);

}

try
{
plugin = trim(navigator.mimeTypes.type);
}
catch(e)
{
plugin = "";
}

if(trim(plugin).indexOf("/") > 0)
{

myarray = trim(plugin).split("/");
plugin = trim(myarray[1]);

}

mime = replaceAll(trim(mime).toLowerCase(), "x-", "");
mime = replaceAll(trim(mime).toLowerCase(), "-", " ");
plugin = replaceAll(trim(plugin).toLowerCase(), "x-", "");
plugin = replaceAll(trim(plugin).toLowerCase(), "-", " ");
//alert("mime=" + mime + "\nplugin=" + plugin);
if(trim(mime).toLowerCase().indexOf(trim(plugin).toLowerCase()) >= 0 || trim(plugin).toLowerCase().indexOf(trim(mime).toLowerCase()) >= 0)
{

found = true;
break;

}

}

return found;

}

}

-->
</script>
</head>
<body>

<script language="JavaScript">

alert("plugin para archivos SWF = " + existspluginsinstalledalready("application/x-shockwave-flash"));
alert("plugin para archivos MP3 = " + existspluginsinstalledalready("audio/mpeg3"));
alert("plugin para archivos AVI = " + existspluginsinstalledalready("video/x-msvideo"));
alert("plugin para archivos 3GP = " + existspluginsinstalledalready("video/3gpp"));
alert("plugin para archivos PDF = " + existspluginsinstalledalready("application/pdf"));
alert("plugin para archivos XDB = " + existspluginsinstalledalready("application/xdb"));

</script>

</body>
</html>
 
Atrás
Arriba