begin process at 2008 07 21 00:39:31
1 213 530 membres
431 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CHARGEMENT DE LA PAGE D'ACCEUIL EN FONCTION DE LA PRÉSENCE DE FLASH


Information sur la source

Catégorie :Astuces Niveau : Débutant Date de création : 17/02/2005 Vu / téléchargé: 5 865 / 567

Note :
4,5 / 10 - par 2 personnes
4,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Ce code va tester si le navigateur supporte le flash et va afficher la
page en fonction du résultat .

Source

  • <?
  • if(!isset($_REQUEST["flash"]))
  • {//On vérifie si le test n'a pas eu lieu (premier chargement).
  • $redir="<meta http-equiv='refresh' content='01;url=index.php?flash=no'/>";
  • //Explication : si le navigateur ne possède pas de plugin flash il ne pourra pas charger l'animation
  • // donc la page ne pouvant ètre affichée on la redirige, au bout d'une seconde (content='01..., mais sur elle-même,avec le paramètre : flash=no
  • }
  • else{
  • //Sinon le test a été effectué on ne redirigera pas la page.
  • $redir="";
  • ?>
  • <html><head><?= $redir ?>
  • <script language="javascript">
  • function popup(page,id,option){
  • //simple fonction de popup
  • var oki=window.open(page,id,option);
  • if(!oki){
  • //Si le popup n'est pas ouvert=anti-popup activé
  • alert("Votre anti-popup est activé :(");}
  • }
  • </script>
  • </head>
  • <body><center>
  • <?
  • if(!isset($_REQUEST["flash"])){
  • //idem que pour $redir : si le test n'a pas été effectué,on tente de charger l'animation flash
  • ?>
  • <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="1" height="1">
  • <param name="movie" value="autodetect.swf">
  • <param name="quality" value="high">
  • <embed src="autodetect.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1" height="1"></embed>
  • </object>
  • <?
  • }
  • else{
  • //sinon on affiche la page en fonction du résultat du test
  • if($_REQUEST["flash"]=="yes"){//c'est le résultat renvoyé par le .swf s'il a bien été chargé?>
  • Vous possédez le lecteur flash qui vous permet d'accéder à la version en<b><a href='flash.html' style='color:red;'> FLASH </a></b> de ce site<br>
  • ainsi qu'à la version<b><a href='php.html' style='color:red;'> PHP </a></b><br> <? }
  • else if($_REQUEST["flash"]=="no"){//c'est le résultat renvoyé par la balise méta si l'animation n'a pas pu être chargée.
  • ?>
  • Vous ne possédez le lecteur flash qui vous permet d'accéder à la version en<b><font style='color:red;'> FLASH </font></b> de ce site<br>
  • mais vous pouvez accéder à la version<b><a href='php.html' style='color:red;'> PHP </a></b> ou télécharger le lecteur <b><a href='#' onclick="popup('http://www.macromedia.com/go/getflashplayer/','dl','width=300,height=300,left=200,top=200,scrollbars=yes,toolbars=yes,resizable')" style='color:blue;'> ICI </a></b><?
  • }
  • }?>
  • </center>
  • </body></html>
<?
if(!isset($_REQUEST["flash"]))
{//On vérifie si le test n'a pas eu lieu (premier chargement). 
$redir="<meta http-equiv='refresh' content='01;url=index.php?flash=no'/>";
//Explication : si le navigateur ne possède pas de plugin flash il ne pourra pas charger l'animation
// donc la page ne pouvant ètre affichée on la redirige, au bout d'une seconde (content='01..., mais sur elle-même,avec le paramètre : flash=no

}
else{
//Sinon le test a été effectué on ne redirigera pas la page.
$redir="";
?>
<html><head><?= $redir ?>
<script language="javascript">
 function popup(page,id,option){ 
 //simple fonction de popup 
 var oki=window.open(page,id,option);
 if(!oki){
 //Si le popup n'est pas ouvert=anti-popup activé
 alert("Votre anti-popup est activé :(");}
 }
</script>
</head>
<body><center>

<?
if(!isset($_REQUEST["flash"])){
//idem que pour $redir : si le test n'a pas été effectué,on tente de charger l'animation flash
?>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="1" height="1">
  <param name="movie" value="autodetect.swf">
  <param name="quality" value="high">
  <embed src="autodetect.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1" height="1"></embed>
</object>
<?
}
else{
//sinon on affiche la page en fonction du résultat du test
if($_REQUEST["flash"]=="yes"){//c'est le résultat renvoyé par le .swf s'il a bien été chargé?>
Vous possédez le lecteur flash qui vous permet d'accéder à la version en<b><a href='flash.html' style='color:red;'> FLASH </a></b> de ce site<br>
ainsi qu'à la version<b><a href='php.html' style='color:red;'> PHP </a></b><br> <? }
else if($_REQUEST["flash"]=="no"){//c'est le résultat renvoyé par la balise méta si l'animation n'a pas pu être chargée.
?>

Vous ne possédez le lecteur flash qui vous permet d'accéder à la version en<b><font style='color:red;'> FLASH </font></b> de ce site<br>
mais vous pouvez accéder à la version<b><a href='php.html' style='color:red;'> PHP </a></b> ou télécharger le lecteur <b><a href='#' onclick="popup('http://www.macromedia.com/go/getflashplayer/','dl','width=300,height=300,left=200,top=200,scrollbars=yes,toolbars=yes,resizable')" style='color:blue;'> ICI </a></b><?
}
}?>
</center>
</body></html>



 
	 




Conclusion

Explication du fla :

L'animation va rediriger la page sur elle-même (_self) avec le paramètre : flash=yes.
Il faut modifier le valeur index.php?flash=yes avec le nom de votre page contenant l'animation
( ex : mapage.php?flash=yes)


Explication du php :

Voir les commentaires du code


Bug : Il est arrivé parfois  que la page se charge en boucle , je pense que c'est le paramètre de la balise méta qui est parfois trop court  dans ce cas là modifiez-le à trois secondes au lieu d' une.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de coucou747 le 17/02/2005 18:50:23

    si il a un anti pop-up il va pas être content...

    la boite d'alerte...

    et en html, tu proposes déja le téléchargement du plugin...

  • signaler à un administrateur
    Commentaire de Anthomicro le 17/02/2005 22:16:59

    Salut,

    heu...

    c'est bof niveau codage. Tu peux remplacer <? par <?php, ensuite il vaut mieux utiliser $_POST[] ou $_GET[] que $_REQUEST[], tu perds tout l'avantage ou presque des registers globals à cause de ça.

    Pour le script <script type="text/javascript"> à la place du language="javascript">

    <?php echo $variable; ?> pareil, pour une question de shortags, au lieu de <?=$variable;?>

    Voilà...

    a +

  • signaler à un administrateur
    Commentaire de zhaar le 18/02/2005 11:19:00

    Merci pour vos commentaires :

    ... étant débutant en php toutes les critiques sont les bienvenues..

    coucou747 :
                - Quel est le pb avec la boite d'alerte ?

    Anthomicro :
               -  "<?" et "<?php" où est la différence   ?
               -  idem "<?=" et "<php  echo"   ?

  • signaler à un administrateur
    Commentaire de coucou747 le 18/02/2005 12:16:55

    le problème avec les boites d'alertes :

    elles ont été faites pour prévenir l'utilisateur d'une éventuelle perte de donnée, ou un truc du style...

    la la boite lui "aprend" qu'il a un anti pop-up... Or il le sait déja, et c'est pas pour tes beaux yeux rouges qu'il va aller l'enlever....

  • signaler à un administrateur
    Commentaire de zhaar le 20/02/2005 10:37:18

    ah oki ..

    Mais je le but n'est  pas de lui "apprendre" qu"il a un anti-popup activé  mais de lui signifier qu'il doit le désactiver
    (en général ils sont paramètrable par site (ex : toolbar google))
    pour continuer la navigation .

  • signaler à un administrateur
    Commentaire de coucou747 le 21/02/2005 19:12:27

    mais IL AURA PAS ENVIE DE L'ENLEVER !!!

    un anti pop-up est fait pour ne pas pouvoir etre contourné...

  • signaler à un administrateur
    Commentaire de zoukozouko le 22/02/2005 01:04:33

    <?php au lieu de <?:
    j'ai déjà posé la question plein de fois:
    voici ma conclusion:
    <?php est important pour le lecteur, c'est comme un commentaire dans ta source.
    les browser comprennent tous <?, mais quand tu précise "<?php" tu dis bien : "la je commence mon code php".

    on m'a dit également que d'autres langages peuvent s'intercaler ayant aussi pour balise "<?"
    .
    Ca évite donc de faire la confusion.

    le <?=$variable?> lui est un peu barbare. C'est juste mais tres peu explicite.
    avec <? echo $variable; ?>, on comprend mieu.

    par contre le "<script type="text/javascript"> à la place du language="javascript">", là, je n'en ai aucune idée...
    Plus rigoureux sans dote, mais pas forcément utile à la comprhésiion.
    anthomicro va pouvoir nous éclairer....

  • signaler à un administrateur
    Commentaire de Anthomicro le 22/02/2005 01:09:21

    Mais PHP est un langage exécuté côté serveur, donc le navigateur ne voit pas le code PHP, donc non les serveurs ne comprennent pas tous PHP, ceux ayant la directive short_open_tags à Off ne liront pas ton code PHP si il est situé entre <? et ?>

    Ensuite le script type="text/javascript" c'est pour la validation XHTML, il me semble (faudrait regarder) que le language n'est plus valide. En plus je trouve personellement ça plus propre, c'est comme le <style type="text/css"

    a +

  • signaler à un administrateur
    Commentaire de coucou747 le 22/02/2005 01:42:08

    ici, je considère franchempent la partie php comme un gros détail...

    la partie js va embèter l'utilisateur...

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS