Fonction include pour un fichier html

Fonction include pour un fichier html - HTML/CSS - Programmation

Marsh Posté le 10-04-2014 à 16:20:00    

Bonjour,

 

Dans un fichier index.php, j'ai une fonction include comme suit :

 

Code :
  1. <div id="menu">
  2.      <?php include('site/menu.php'); ?>
  3.         </div>
 

Elle interprète correctement la page menu.php qui contient des liens php de type :

 
Code :
  1. <a href="index.php?page=Tarifs">Tarifs</a>
 

Dans cette page "index.php", je voulais ajouter une code javascript mais évidemment, le javascript doit être exécuté par le client et non pas par le serveur php.

 

Alors, je voulais savoir si je peux remplacer l'include  

 
Code :
  1. <?php include('site/menu.php'); ?>

par

 
Code :
  1. <?php include('site/menu.html'); ?>
 

J'ai testé et a priori, ça à l'air d'être bon, sauf que mon code javascript dans la page menu.html n'est pas exécuté. Il permet de faire un menu avec des images qui "glissent". (Le js fonctionne bien sans passer par la fonction include) .

 

Une idée ?

 

Cdt,

 

slr56.


Message édité par slr56 le 10-04-2014 à 16:21:27

---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com
Reply

Marsh Posté le 10-04-2014 à 16:20:00   

Reply

Marsh Posté le 10-04-2014 à 16:58:57    

Le fait de passer de l'extension php à html ne va rien changer, si ce n'est que le php dans le fichier html ne sera plus interprété (sauf si apache a été paramétrer pour interpréter le php de fichiers html).
 
Pour info, il est parfaitement possible de mettre du javascript dans des fichiers php; il sera simplement exécuté côté client, lors du rendu de la page web. Le php générant dynamiquement le code html/css/JS, il faut donc bien veiller à ce que l'ordre de génération de ces différents langages se fasse correctement.
 
Je recommande de faire du javascript non intrusif : le PHP fait de simple insertions de fichiers JS dans le <head> via des balises <script>. Dans la balise <body>, sur l'événement onload, appeler une fonction qui se charge d'appeler les fonctions de lancement des divers JS mis dans le <head>.
 
Dans mon appli Astres (cf ma signature -> fichier /Astres/GUI/GraphicInterface.php), c'est ce que j'ai fait pour appeler des plugins en javascript qui modifient à la volée le contenu de certaines pages web ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2014 à 09:53:58    

Merci rufo pour les informations.
Je vais regarder ce que tu as dans ta signature. :)


---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com
Reply

Marsh Posté le 11-04-2014 à 11:20:16    

rufo a écrit :

Le fait de passer de l'extension php à html ne va rien changer, si ce n'est que le php dans le fichier html ne sera plus interprété (sauf si apache a été paramétrer pour interpréter le php de fichiers html).

 

Pour info, il est parfaitement possible de mettre du javascript dans des fichiers php; il sera simplement exécuté côté client, lors du rendu de la page web. Le php générant dynamiquement le code html/css/JS, il faut donc bien veiller à ce que l'ordre de génération de ces différents langages se fasse correctement.

 

Je recommande de faire du javascript non intrusif : le PHP fait de simple insertions de fichiers JS dans le <head> via des balises <script>. Dans la balise <body>, sur l'événement onload, appeler une fonction qui se charge d'appeler les fonctions de lancement des divers JS mis dans le <head>.

 

Dans mon appli Astres (cf ma signature -> fichier /Astres/GUI/GraphicInterface.php), c'est ce que j'ai fait pour appeler des plugins en javascript qui modifient à la volée le contenu de certaines pages web ;)

 


J'essaye d'utiliser la fonction body onload mais pour le moment, j'ai toujours le même résultat, à savoir que le javascript ne s'exécute pas.

 

Voici le code de la page menu.php si quelqu'un peut m'aider car là je sèche.

 

Cdt,

 

slr56.

 
Code :
  1. <html>
  2. <head>
  3.  <link rel="shortcut icon" href="logo.ico" type="image/x-icon"/>
  4.         <link rel="stylesheet" href="css/style.css" type="text/css" media="screen"/>
  5.  <link href="css/jimgMenu.css" rel="stylesheet" type="text/css" />
  6.  <script type="text/javascript" src="scripts/js/jquery.js"></script>
  7.  <script type="text/javascript" src="scripts/js/jquery-easing-1.3.pack.js"></script>
  8.  <script type="text/javascript" src="scripts/js/jquery-easing-compatibility.1.2.pack.js"></script>
  9.  <script type="text/javascript">
  10.    function mon_script() {
  11.      // find the elements to be eased and hook the hover event
  12.      $('div.jimgMenu ul li a').hover(function() {
  13.     // if the element is currently being animated (to a easeOut)...
  14.     if ($(this).is(':animated')) {
  15.       $(this).stop().animate({width: "310px"}, {duration: 450, easing:"easeOutQuad"});
  16.     } else {
  17.       // ease in quickly
  18.       $(this).stop().animate({width: "310px"}, {duration: 400, easing:"easeOutQuad"});
  19.     }
  20.      }, function () {
  21.     // on hovering out, ease the element out
  22.     if ($(this).is(':animated')) {
  23.       $(this).stop().animate({width: "78px"}, {duration: 400, easing:"easeInOutQuad"})
  24.     } else {
  25.       // ease out slowly
  26.       $(this).stop('animated:').animate({width: "78px"}, {duration: 450, easing:"easeInOutQuad"});
  27.     }
  28.      });
  29.    };
  30.  </script>
  31. </head>
  32. <body onLoad="mon_script()" >
  33. <center><div class="jimgMenu">
  34.   <h1 class="title">Menu</h1>
  35.   <ul id="sdt_menu" class="sdt_menu">
  36.    <li>
  37.     <a href="index.php?page=accueil" >
  38.      <img src="images/Vignettes/V1.jpg" alt="" class="arrondie"/>
  39.      <span class="sdt_active"></span>
  40.      <span class="sdt_wrap">
  41.      <span class="sdt_link">Home</span>
  42.      </span>
  43.     </a>
  44.    </li>
  45.   </ul>
  46. </div>
  47. </center>
  48. </body>
  49. </html>


Message édité par slr56 le 11-04-2014 à 14:52:34

---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com
Reply

Marsh Posté le 11-04-2014 à 11:26:57    

En même temps, dans ton html, elle est où ta div.jimgMenu :??:
 
Par ailleurs, <center> est déprécié depuis très longtemps :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2014 à 11:45:24    

Effectivement, je m'étais trompé de nom pour la div. J'ai corrigé son nom dans le body.
 
Malheureusement, le problème n'est pas résolu. :(
 
Pour le <center>, je vais le remplacer par du css. :)


---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com
Reply

Marsh Posté le 11-04-2014 à 12:55:28    

C'est bizarre, tu testes si ton div est animé mais dans les 2 cas tu fais un stop :/ Or, nul part, tu lances l'animation a priori. Ce code, c'est toi qui l'a fait où tu l'as pompé qq part sans le comprendre :??:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2014 à 13:46:17    

rufo a écrit :

C'est bizarre, tu testes si ton div est animé mais dans les 2 cas tu fais un stop :/ Or, nul part, tu lances l'animation a priori. Ce code, c'est toi qui l'a fait où tu l'as pompé qq part sans le comprendre :??:

 


Ce code je l'ai récupéré sur ce site http://tympanus.net/codrops/2010/0 [...] -box-menu/     (zip à télécharger)

 

J'essaye de le comprendre et j'ai réussi à l'adapter à la version précédente de mon site.

 

En html, css et php, je me débrouille. Par contre en javascript, je suis débutant, donc j'apprends sur les scripts existants.

 


Ce que je veux et que j'arrive à faire fonctionner indépendamment du php, c'est ce qu'il y a dans la démo de la page ci-dessus. Dès que je l'imbrique avec la fonction onload, ça ne charge pas.


Message édité par slr56 le 11-04-2014 à 13:56:56

---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com
Reply

Marsh Posté le 11-04-2014 à 14:00:03    

<div class="jingMenu"> et en JS tu appelles $('div.jimgMenu ul li a')
 
(un n dans le class html à la place d'un m)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2014 à 14:52:06    

Effectivement, il y avait cette faute d'orthographe mais ça ne résout pas le problème.
 
Cependant, j'ai toujours le même problème.
 
J'ai vraiment l'impression que la page php refuse d'exécuter le code js bien qu'il y ait le body onload.


---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com
Reply

Marsh Posté le 11-04-2014 à 14:52:06   

Reply

Marsh Posté le 11-04-2014 à 15:05:59    

c'est pas php qui exécute le js, mais le navigateur :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2014 à 15:15:24    

rufo a écrit :

c'est pas php qui exécute le js, mais le navigateur :o


 
Oui, le php est exécuté côté serveur et le js côté client.  


---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed