Un script pour deux pages

Un script pour deux pages - Javascript/Node.js - Programmation

Marsh Posté le 16-07-2017 à 00:11:42    

Bonjour à tous,
 
J'ai un script Javascript qui m'affiche l'heure à deux endroits du globe.
 
Mais j'ai une page en français et une autre en espagnol ce qui pour le moment m'as obligé a faire un script pour chaque langue car chacune à ses ID spécifique.
 
Je voudrais les regrouper et ne faire qu'un seul script, mais le problème apparaît car si il ne trouve pas une ID il arrête le script
 
Je vous montre ça:

Code :
  1. /*----------------------------------------------------*/
  2. /*  Affichage de la Date et de l'Heure
  3. ------------------------------------------------------*/
  4.            
  5.         function afficher() {
  6.             var jours_fr = ["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"];
  7.             var mois_fr = ["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"];
  8.             var jours_es = ["Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"];
  9.             var mois_es = ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
  10.             var diff_fr = document.getElementById("dif1_fr" ).innerHTML;
  11.             var diff_es = document.getElementById("dif1_es" ).innerHTML   
  12.             var offsetUTC = +2,
  13.             lD = new Date();
  14.             oD = new Date();
  15.             oD.setHours(lD.getUTCHours()+offsetUTC);
  16.             var m=oD.getMinutes();
  17.             var s=oD.getSeconds();
  18.             var diffEnMilliseconde = lD-oD;
  19.             var diffEnHeures = ((lD-oD)/1000)/3600;
  20.        
  21.         if(m <= 9) {m = "0" + m;}
  22.         if(s <= 9) {s = "0" + s;}     
  23.          
  24.           document.getElementById("locale_fr" ).innerHTML = " " + jours_fr[lD.getDay()] +" " + lD.getDate() + " " + mois_fr[lD.getMonth()] +" "+lD.getFullYear() + ", " + lD.getHours() + ":" + m+ ":" + s ;
  25.           document.getElementById("autre_fr" ).innerHTML = " " + jours_fr[oD.getDay()] +" " + oD.getDate() + " " + mois_fr[oD.getMonth()] +" "+oD.getFullYear() + ", " + oD.getHours() + ":" + m+ ":" + s;
  26.           document.getElementById("dif1_fr" ).innerHTML = diffEnHeures ;
  27.           document.getElementById("locale_es" ).innerHTML = " " + jours_es[lD.getDay()] +" " + lD.getDate() + " " + mois_es[lD.getMonth()] +" "+lD.getFullYear() + ", " + lD.getHours() + ":" + m+ ":" + s ;
  28.           document.getElementById("autre_es" ).innerHTML = " " + jours_es[oD.getDay()] +" " + oD.getDate() + " " + mois_es[oD.getMonth()] +" "+oD.getFullYear() + ", " + oD.getHours() + ":" + m+ ":" + s;
  29.           document.getElementById("dif1_es" ).innerHTML = diffEnHeures ;     
  30.           if (
  31.             diff_fr == "0" ) {
  32.             document.getElementById("dif_fr" ).style.display="none";
  33.           }
  34.             else if (
  35.               diff_fr >= "1" ) {
  36.               document.getElementById("dif_fr" ).style.display="block";
  37.           } 
  38.           if (
  39.             diff_es == "0" ) {
  40.             document.getElementById("dif_es" ).style.display="none";
  41.           }
  42.             else if (
  43.               diff_es >= "1" ) {
  44.               document.getElementById("dif_es" ).style.display="block";
  45.           }         
  46.           }
  47. /*----------------------------------------------------*/
  48. /*  Onload
  49. ------------------------------------------------------*/     
  50.         window.onload=function() {
  51.           afficher();
  52.           setInterval(afficher,1000);
  53.         }


 
cela fonctionne sur un codepen: https://codepen.io/Aton8181/pen/eRXJbL/?editors=1010 mais pas sur deux pages différentes
 
J'ai essayé avec des if=nul sans succès
 
Si quelqu'un avait un tuyau pour me donner une idée ?
 
Je l'en remercie d'avance


---------------
Xpredator white edition
Reply

Marsh Posté le 16-07-2017 à 00:11:42   

Reply

Marsh Posté le 20-07-2017 à 15:50:33    

Personne n'a une petite idée ?


---------------
Xpredator white edition
Reply

Marsh Posté le 20-07-2017 à 16:11:36    

Bonjour,
 
Quick and durty :  
Avant l'ensemble des document.get...., fait un test si diff_fr === null or not. Ca te permettra de savoir dans quelle page tu es.  
 
Sinon, pourquoi ne pas avoir les même id pour les deux pages ?  

Reply

Marsh Posté le 21-07-2017 à 10:56:23    

J'ai réussi en faisant ceci:
 

Code :
  1. /*----------------------------------------------------*/
  2. /*  Affichage de la Date et de l'Heure
  3. ------------------------------------------------------*/
  4.            
  5.         function afficher() {
  6.             var jours_fr = ["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"];
  7.             var mois_fr = ["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"];
  8.             var jours_es = ["Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"];
  9.             var mois_es = ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
  10.   var lang = $('html').attr('lang');
  11.             var offsetUTC = +2,
  12.             lD = new Date();
  13.             oD = new Date();
  14.             oD.setHours(lD.getUTCHours()+offsetUTC);
  15.             var m=oD.getMinutes();
  16.             var s=oD.getSeconds();
  17.             var diffEnMilliseconde = lD-oD;
  18.             var diffEnHeures = ((lD-oD)/1000)/3600;
  19.          
  20.         if(m <= 9) {m = "0" + m;}
  21.         if(s <= 9) {s = "0" + s;} 
  22.            if (lang == 'fr') {
  23.             var diff_fr = document.getElementById("dif1_fr" ).innerHTML;
  24.      document.getElementById("locale_fr" ).innerHTML = " " + jours_fr[lD.getDay()] +" " + lD.getDate() + " " + mois_fr[lD.getMonth()] +" "+lD.getFullYear() + ", " + lD.getHours() + ":" + m+ ":" + s ;
  25.      document.getElementById("autre_fr" ).innerHTML = " " + jours_fr[oD.getDay()] +" " + oD.getDate() + " " + mois_fr[oD.getMonth()] +" "+oD.getFullYear() + ", " + oD.getHours() + ":" + m+ ":" + s;
  26.      document.getElementById("dif1_fr" ).innerHTML = diffEnHeures ;
  27.                if (
  28.         diff_fr == "0" ) {
  29.         document.getElementById("dif_fr" ).style.display="none";
  30.          }
  31.         else if (
  32.           diff_fr >= "1" ) {
  33.           document.getElementById("dif_fr" ).style.display="block";
  34.       } 
  35.         } else if (lang == 'es') {
  36.             var diff_es = document.getElementById('dif1_es').innerHTML;
  37.      document.getElementById("locale_es" ).innerHTML = " " + jours_es[lD.getDay()] +" " + lD.getDate() + " " + mois_es[lD.getMonth()] +" "+lD.getFullYear() + ", " + lD.getHours() + ":" + m+ ":" + s ;
  38.      document.getElementById("autre_es" ).innerHTML = " " + jours_es[oD.getDay()] +" " + oD.getDate() + " " + mois_es[oD.getMonth()] +" "+oD.getFullYear() + ", " + oD.getHours() + ":" + m+ ":" + s;
  39.      document.getElementById("dif1_es" ).innerHTML = diffEnHeures ; 
  40.                if (
  41.         diff_es == "0" ) {
  42.         document.getElementById("dif_es" ).style.display="none";
  43.          }
  44.         else if (
  45.           diff_es >= "1" ) {
  46.           document.getElementById("dif_es" ).style.display="block";
  47.        }       
  48.    }     
  49.           }
  50. /*----------------------------------------------------*/
  51. /*  Onload
  52. ------------------------------------------------------*/     
  53.         window.onload=function() {
  54.           afficher();
  55.           setInterval(afficher,1000);
  56.         }
  57. /*----------------------------------------------------*/
  58. /* End
  59. ------------------------------------------------------*/


Message édité par Aton2323 le 22-07-2017 à 09:45:59

---------------
Xpredator white edition
Reply

Sujets relatifs:

Leave a Replay

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