Newsgroup: it.comp.lang.javascript
Titolo: Rilevare plug-in Flash

Salve,
devo banalmente rilevare se l'utente ha installato un plug-in flash onde
visualizzare un'animazione, oppure proporre una jpg statica.
Ho letto quanto scritto su:
http://flash-mx.html.it/guide/view_lezione.asp?id=12&idguida=2
ma purtroppo a seguito dell'inserimento di questo codice:
var desiredPlugin =
navigator.mimeTypes["application/x-shockwave-flash"];
alert("desiredPlugin: " + desiredPlugin);
il messaggio visualizzato dalla finestra di allerta e' il seguente:
desiredPlugin: undefined.
Curiosamente quando sotto inserisco il seguente codice:
if (desiredPlugin) {
document.write('
 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0
"
width="120" height="40">
          <param name=movie value="/immaginisinistra/pippo.swf">
          <param name=quality value=high>
          <embed src="/immaginisinistra/pippo.swf" quality=high
pluginspage="
http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash
"
type="application/x-shockwave-flash" width="120" height="40">
          </embed>
         </object>
');
}else{document.write('<img src="/immaginisinistra/pippo.jpg" border="0"
width="120" height="40">');}
</script>
Non viene visualizzata ne' l'una ne' l'altra cosa...
La pagina fa parte di una intranet aziendale dove tutti gli utenti hanno
installato IE.
Grato delle eventuali osservazioni ed indicazioni che vorrete darmi,
saluto il gruppo cordialmente.
-- 
Paolo Fasce
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 installato IE.
Che versione? Se e' almeno la 5 puoi usare il comodissimo try..catch per 
verificare l'esistenza dell'activex di Flash (eggia'.. in IE i plugins 
sono ActiveX).
Velocissimamente:
var swfplugin=null;
try{
	swfplugin= new ActiveXObject("ShockWaveFlash.ShockWaveFlash")
}catch(e){
	alert("Il browser non dispone del plugin flash");
}
if (!swfplugin){
	/* se non esiste il plug in fai qualcosa*/
}else{
	/* altrimenti fai qualcos'altro */
}
In realta' il discorso potrebbe essere un po' piu' complicato.. ne 
abbiamo discusso a lungo in questa sede.. ti rimando a google (ricerca 
sui gruppi, it.comp.lang.javascript) se vuoi approfondire nel dettaglio.
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 nel dettaglio.
Se ti ricordi qualche parola chiave (io ho provato con "rilevare
Flash"), ti sarei grato.
Ti sono comunque grato delle indicazioni (velocissime) che mi hai dato
fino ad ora.
Ciao ciao.
Paolo.


 Flash"), ti sarei grato.
Prova con Adobe e detect, il discorso e' il medesimo e ci s'era spostati 
su Flash.
BTW, il tuo problema e' tutt'altro se il codice precedente non ti 
funziona.


 non ti funziona.
Questo, per certi versi, mi rincuora...
Ancora grazie per il tempo che ti sto facendo perdere.
Paolo


 Nella pagina bianca vedo "aaa", ma non "bbb". Ne' appaiono degli alert.
Mi rispondo da solo: ho invertito le due righe... ora vedo anche bbb, ma
non accade nulla.
Ciao ciao.


 <body>
Vabbe', siccome sono idiota, ho anche aggiunto un </head>. Ma continua a
non funzionare.


 apposito:
[cut]
Nono.. hai cmq inserito roba tua. Io intendo, prendere il codice che ti 
ho dato, ed eseguirlo cosi' com'e', senza alcuna modifica tua. Per 
inciso, crea un file di testo vuoto, incollaci SOLO il seguente codice:
<script>
var swfplugin=null;
try{
	swfplugin= new ActiveXObject("ShockWaveFlash.ShockWaveFlash")
}catch(e){
	alert("Il browser non dispone del plugin flash");
}
if (!swfplugin){
	alert("swfplugin non e' avvalorato");
}else{
	alert("swfplugin e' stato settato. Il plugin esiste");
}
</script>
e salvalo come HTML.
Poi, dallo in pasto a Internet Explorer, e dimmi che vien fuori.


 Ancora grazie per il tempo che ti sto facendo perdere.
Va la, figurati. Ti faro' contattare dal mio commercialista, se 
servira' a metterti l'anima in pace. ;D


 Flash"), ti sarei grato.
Tempo fa abbiamo discusso su un'adattamento dello sniffer di MacroMedia 
che ho fatto io.
Lo trovi qua: 
http://www.jsdir.com/faq
 cercando "flash"
Attenzione che non l'ho provato con MX, quindi forse dovrai fare qualche 
modifica. In tal caso se me lo rimandi aggiornato te ne saro' molto 
grato :-)
Cmq nel gruppo troverai tanti altri thread sull'argomento.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .

 se servira' a metterti l'anima in pace. ;D
Si, manda pure a:
Giuseppe Garibaldi+
Codice Fiscale GRB GPP 07A01 Z110O
Viale Mazzini 11
Nizza (F)
Grazie e a presto. 8-)


 saro' molto grato :-)
Al momento ho risolto il mio problema, ma se mi ci mettero', ben lieto
di collaborare.
Ciao ciao.
Paolo
