| Autor: |
Flash Web Training |
| Dificuldade: |
Actionscript |
| Data de
Publicação: |
26/03/2004 |
|
|
Introdução
Um erro comum que é feito pelas pessoas é
assumir que a maioria dos utilizadores têm instalado no seu computador
o Macromedia Flash Player. Embora cerca de 90% dos utilizadores da Internet
o tenham instalado no seu computador, existem uma outra percentagem que
não o tem instalado.
Pode ocorrer que um utilizador visite o vosso site usando um plug-in mais
antigo, criando uma incompatibilidade do Flash Player, originando desta
forma o inconveniente de que o utilizador ao receber este tipo de erro,
não retorne ao vosso site.
Nem todos os utilizadores usam o Internet Explorer com a opção
de “Install On Demand”, que automaticamente faz o download
do plug-in e instala-o na máquina do utilizador.
Para tentar resolver este problema que poderá existir, foram criados
mecanismos para fazer a detecção do Flash Player nos computadores
dos utilizadores. Um script de detecção basicamente verifica,
se o computador do utilizador contém ou não o plug-in instalado.
Caso seja encontrado um plug-in instalado no computador, o utilizador
será transportado para a página criada em Flash. Se o plug-in
não for encontrado, o script poderá redireccionar o utilizador
para uma outra página não criada em Flash (por exemplo,
criada em HTML), onde será pedido ao utilizador para fazer o download
e instalar o plug-in do Flash através de outro Web Site.
Para que exista tal possibilidade de detecção do plug-in,
foi criado um pequeno script para a detecção do Plug-In
do Flash para incluir no vosso site. Para usar este tipo de scripts, simplesmente
devem copiar e colar no código de HTML de um documento. Usualmente
o documento HTML é incluído na primeira página que
irá redireccionar para uma página criada com um conteúdo
em Flash, como por exemplo uma página chamada de index.htm ou flashdetect.htm.
Detecção do Plug-In: Página
em Flash ou não
A maioria dos scripts comuns de detecção do Flash, simplesmente
verificam na máquina do utilizador se existe ou não o Flash
Player instalado. Dependendo no que o script irá encontrar, iremos
ver uma página criada em Flash ou não. A página não
criada em Flash será exposta caso, não seja encontrado o
plug-in no computador. A página de Flash, aparecerá, evidentemente
se, o plug-in estiver instalado no computador.
Script para detectar o Plug-In do Flash e redirecciona
para uma de Flash ou não:
<SCRIPT LANGUAGE=JavaScript1.1>
<!--
var MM_contentVersion = 6;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])
? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin
: 0;
if ( plugin ) {
var words = navigator.plugins["Shockwave Flash"].description.split("
");
for (var i = 0; i < words.length; ++i)
{
if (isNaN(parseInt(words[i])))
continue;
var MM_PluginVersion = words[i];
}
var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0
&& (navigator.appVersion.indexOf("Win") != -1)) {
document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide
this from IE4.5 Mac by splitting the tag
document.write('on error resume next \n');
document.write('MM_FlashCanPlay = (
IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." &
MM_contentVersion)))\n');
document.write('</SCR' + 'IPT\> \n');
}
if ( MM_FlashCanPlay ) { window.location.replace("http://www.nomedosite.com/flash.htm");
} else{
window.location.replace("http://www.nomedosite.com/noflash.htm");
}
//-->
</SCRIPT>
Detecção
do Flash: Imagem ou Animação
Neste script, o HTML irá verificar se o utilizador
contém ou não o Flash Player. Se o utilizador tem o Flash
instalado, a animação contida na mesma página será
carregada. Se o utilizador não contiver o Flash Player, uma representação
gráfica da animação que devemos ter, será
exposta.
<SCRIPT LANGUAGE=JavaScript1.1>
<!--
var MM_contentVersion = 6;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])
? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin
: 0;
if ( plugin ) {
var words = navigator.plugins["Shockwave Flash"].description.split("
");
for (var i = 0; i < words.length; ++i)
{
if (isNaN(parseInt(words[i])))
continue;
var MM_PluginVersion = words[i];
}
var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0
&& (navigator.appVersion.indexOf("Win") != -1)) {
document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide
this from IE4.5 Mac by splitting the tag
document.write('on error resume next \n');
document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash."
& MM_contentVersion)))\n');
document.write('</SCR' + 'IPT\> \n');
}
if ( MM_FlashCanPlay ) {
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
document.write(' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
');
document.write(' ID="script" WIDTH="300" HEIGHT="200"
ALIGN="">');
document.write(' <PARAM NAME=movie VALUE="script.swf">
<PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF>
');
document.write(' <EMBED src="script.swf" quality=high bgcolor=#FFFFFF
');
document.write(' swLiveConnect=FALSE WIDTH="300" HEIGHT="200"
NAME="script" ALIGN=""');
document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">');
document.write(' </EMBED>');
document.write(' </OBJECT>');
} else{
document.write('<IMG SRC="script.gif" WIDTH="300"
HEIGHT="200" usemap="#script" BORDER=0>');
}
//-->
</SCRIPT><NOSCRIPT><IMG SRC="script.gif" WIDTH="300"
HEIGHT="200" usemap="#script" BORDER=0></NOSCRIPT>
Iremos necessitar de algumas pequenas modificações,
para que o script acima exposto funcione no vosso website. Caso desejemos
incluir este código no nosso site deveremos substituir todas as
instâncias onde existe script.swf com o caminho para o filme em
Flash. Deveremos ainda substituir todas as instâncias onde contenha
script.gif na página, por uma imagem que queiramos que apareça
caso o utilizador não tenha instalado no seu computador o plug-in
do Flash.
Os códigos acima descritos, deveram ser o essencial para que possam
criar um script de detecção do plug-in de Flash, mesmo à
vossa medida. Não existe maneira de cobrir 100% dos utilizadores
do vosso site. Existe sempre a possibilidade de alguns utilizadores, não
utilizarem os browsers convencionais, e não haver maneira como
tal, de detectar se têm ou não o plug-in de Flash instalado,
dificultando desta forma o redireccionamento da página.
Se estiverem interessados em saber como existe uma maneira de obter mais
controlo sobre os filmes de Flash que são detectados, recomendamos
que dêem uma vista de olhos sobre a página da Macromedia.
Macromedia
Flash Development Kit
|