Trucsweb.com

Forum de discussion

 Forum « Flash et Shockwave » (archives)

Re: Pré-clic comment le mettre en disable ?

Envoyé: 2 septembre 2006, 5h45 par toph


Salut à tous...

j'ai une autre solution à proposer, en passant par le javascript.

La solution est basée sur le même principe que celle d'Oznog (que je salue au passage) à savoir : charger le flash une fois que toute la page est affichée ...

Je vais essayer d'être simple et concis:

PRINCIPE :
Le swf est généralement situé dans une balise <td></td>.
En donnant un id à ce <td>, on peut y accéder et donc récrire le contenu ...
Un simple javascript permet cette opération. Il suffit donc de le lancer à la fin du chargement de la page (après la balise <body></body>)


DETAIL :

Dans un fichier 'index.js', situé ds le même repertoire que le html :
---------------------------------------------------------------------------------------
function affiche_menu() {

var id = document.getElementById('menu_flash');
var contenu = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'
+'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="200" height="340" id="menu" align="middle">'
+'<param name="allowScriptAccess" value="sameDomain" >'
+'<param name="movie" value="menu.swf" ><param name="quality" value="high" ><param name="bgcolor" value="#ffCC33" ><embed src="menu.swf?rub=120&ssrub=356" quality="high" bgcolor="#ffCC33" width="200" height="340" name="menu" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"; >'
+'</object>';
id.innerHTML = contenu;

}

// en fait, il s'agit de remettre dans la variable 'contenu' toute la balise <object> et son contenu, généré lors de la publication flash ... le tout entre " ' "
// A cause des retours à la ligne du html original, on est obligé de fractionner tout ça et de mettre de '+' pour chaque retour à la la ligne ...



Dans la page html :
---------------------------------------------------------------------------------------
<html>
...
<script type="text/javascript" src="index.js"></script>
...
<body>
...
<td id="menu_flash"></td>
...
</body>
...
<script>
affiche_menu();
</script>
...
</html>

---------------------------------------------------------------------------------------

Et voilà, simple comme bonjour et ça marche bien ...

Je sais, vous allez dire : "oui, mais ça veut dire qu'il faut avoir les javascripts activés!"
Je répondrais : "Si tu cherches à lire un contenu ActiveX, je pense que tu dois avoir les javascripts activés aussi. La logique web veut que ce soit les deux activés ou aucun activé ... rarement l'un sans l'autre... non?"

Dans mon cas, je l'utilise pour charger un menu dans une page html... mais ça marche pour tout!

Une autre petite astuce pour les robots de référencement google qui ne lisent pas le flash ... toujours dans l'exemple d'un menu en flash.
Si les javascripts sont désactivés, rien n'empèche de mettre un menu statique en html (à base de <a></a> tout betes) dans une balise <noscript> à l'intérieur du fameux <td>.
Comme ça, soit il affiche le flash, soit il affiche ... un menu fixe en html... pas mal non ...
il suffit de faire comme ça :

<td width="180" id="menu_flash">
<noscript>
Le menu flash ne peut pas s'afficher
<a href="http://www.trucsweb.com"; target="_blank">TrucsWeb, Webmestrie et Liberté</a>
</noscript>
</td>

faites le test en désactivant le javascript... ça marche du tonnerre!!!



Voilà, voilà ...

++
Toph'


Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

X

Trucsweb.com Mot de passe perdu

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte