11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,


N'ayant rien trouvé de concluant sur la toile, je me permets de poser ma question.
Alors voilà, j'ai un petit site php / css : http://arboschwin.com

Je m'étais basé sur l'article "CSS séparée et include PHP" de Raphaël (mes respects), article ensuite bien étoffé par Cygnus (MR aussi).

Ce qui me pose problème : on cliquant sur une option du menu, la page entière se recharge (dû aux includes), en produisant un effet de clignotement (flickering effect).

J'ai trouvé des posts parlant d'AJAX : j'ai testé l'un où l'autre script ... ça ne résoud pas mon problème.

Quand je vois un site comme
http://www.agr-fscf.fr/, cet effet flickering est inexistant !

Alors, qu'est-ce qui est mal codé ?
comment résoudre ze problem ?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<!-- Commentaire  
    Pour les mises à jour :
          - mettre à niveau les 2 switchs en cas de nouvelle entrée dans le menu
	- mettre à jour la table des pages autorisées en cas de nouvelle entrée dans le sous-menu	  
-->	
  <?	 
  include("HTML/head.htm");
  ?> 

  <body>
  <div id="box">
  
  <?
/*  On vérifie si un menu est actif, sinon au positionne le premier, idem pour la page   */  
  if (isset($_GET['menu']))
        {  $menu = $_GET['menu'];   }
  else  {  $menu = 1;  }
  
  if (isset($_GET['page']))
        {  $actif = $_GET['page'];  }
  else  {  $actif = "index"; }
  
/* On positionne par defaut le premier acticle de la rubrique choisie   */
  if ($actif == "index")
    {
        switch($menu)
			{
			case 1:
... snip
... snip
                        case 9:
					$actif = 'liens_arbo';
					break;		 					
			default:
                    $actif = 'accueil';
					break;			
			};   
	}   
/*  Gestion de l'affichage du titre accueil   ou normal   */  
  if ( ( (isset($_GET['page'])) && ( ($_GET['page'])=="index") && ($actif=="accueil") ) || (!isset($_GET['page']))  )
  {
	 include("HTML/titre_accueil.htm"); 
  }
    else
  {
     include("HTML/titre.htm"); 
  }   
  
/*  on inclut le menu    */  
	 include("PHP/menu.php"); ?>
	
	<div id="principal">
		
<?
/* On définit le tableau contenant les pages autorisées    */
  $pageOK = array('accueil' => 'HTML/accueil.htm',
                  'historique' => 'HTML/historique.htm',
... snip
... snip
				  'construct1' => 'HTML/construct.htm',
				  'construct3' => 'HTML/construct.htm'); 
                                
/*  On teste que le paramètre d'url existe et qu'il est bien autorisé     */
/* Sinon, on force en fonction de la valeur du paramètre menu            */
  if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) )
    {
	$req_pg = $_GET['page'];
	}
	else
	{
	    switch($menu)
			{
			case 1:
					$req_pg = 'accueil';
					break;
... snip
... snip
						case 9:
					$req_pg = 'liens_arbo';
					break;		
			default:
                    $req_pg = 'accueil';
					break;			
			};
	}

	include($pageOK[$req_pg]); 
	
?>
		
	</div>
	
       <?
	     include("HTML/pied.htm");
	   ?>	
  </div>
    <?
    include("PHP/xiti.php");
    ?>
  </body>

</html>  



MERCI.
Modifié par micada (25 Oct 2007 - 21:17)