Foros del Web » Programando para Internet » Jquery »

Mismo Header para todas las paginas

Estas en el tema de Mismo Header para todas las paginas en el foro de Jquery en Foros del Web. Hola, Soy bastante novato, he intentado navegar para dar solución a mi problema pero no lo veo. En jQuery Mobile tengo el siguiente código: <body> ...
  #1 (permalink)  
Antiguo 05/04/2015, 05:15
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Mismo Header para todas las paginas

Hola,

Soy bastante novato, he intentado navegar para dar solución a mi problema pero no lo veo.

En jQuery Mobile tengo el siguiente código:

<body>

<!-- PAGE 1 -->
<div data-role="page" id="1">

<div data-role="header">
<h1>HEDAER</h1>
</div><!-- /header -->

<div data-role="content">
PAGE 1
</div><!-- /content -->
</div><!-- /page -->

<!-- PAGE 2 -->
<div data-role="page" id="2">

<div data-role="header">
<h1>HEDAER</h1>
</div><!-- /header -->

<div data-role="content">
PAGE 2
</div><!-- /content -->
</div><!-- /page -->
</body>


Pues bien, la cuestión es que quiero meter el Header:

<div data-role="header">
<h1>HEDAER</h1>
</div><!-- /header -->

En un fichero a parte e incluirlo en cada page del index.html. No se como hacerlo, ni con html ni con javascript.

¿Alguna ayuda?
  #2 (permalink)  
Antiguo 05/04/2015, 08:17
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Mismo Header para todas las paginas

Lo primero de todo; por favor, usa el Highlight que proporciona el foro.

Segundo; podrías crear un archivo JS donde pongas todos los datos del header/nav en un html() asociado a un manejador del tipo $("#header_general"), y entonces incluir ese DIV en todas las páginas junto al archivo JS.

Saludos.
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 05/04/2015, 08:45
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Mismo Header para todas las paginas

Hola, gracias por la respuesta pero podrías ser un poco más especifico? Toy bastante pez.

Gracias!
  #4 (permalink)  
Antiguo 05/04/2015, 10:14
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Mismo Header para todas las paginas

Algo así: http://jsfiddle.net/rsrc68yq/

Código HTML:
Ver original
  1. <div id="incluir-header"></div>

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     //Ponemos todo el contenido del header en el contenedor llamado "incluir-header" (o como quieras llamarlo) a través del html de JS
  4. $("#incluir-header").html('<div id="header"><ul><li id="inicio">Inicio</li><li id="pagina1">Página 1</li><li id="pagina2">Página 2</li><li id="pagina3">Página 3</li><li id="pagina4">Página 4</li></ul></div>');
  5.  
  6.     //Comprobamos la URL, por ejemplo, para el index:
  7. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "")
  8. {  $("#inicio").addClass('activo'); };
  9.  
  10. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "index")
  11. {  $("#inicio").addClass('activo'); };
  12.  
  13. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "index.html")
  14. {  $("#inicio").addClass('activo'); };
  15.    
  16.     //Y así con todas las páginas y sus URLs variantes (que terminan con .html o .php por si acceden desde ese enlace)
  17.    
  18.     //Página 1
  19. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "pagina1")
  20. {  $("#pagina1").addClass('activo'); };
  21.    
  22. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "pagina1.php")
  23. {  $("#pagina1").addClass('activo'); };
  24.    
  25.     //Página 2
  26. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "pagina2")
  27. {  $("#pagina2").addClass('activo'); };
  28.    
  29. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "pagina2.php")
  30. {  $("#pagina2").addClass('activo'); };
  31.  
  32.     //Página 3
  33. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "pagina3")
  34. {  $("#pagina3").addClass('activo'); };
  35.    
  36. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "pagina3.html")
  37. {  $("#pagina3").addClass('activo'); };
  38.    
  39.     //Página 4
  40. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "pagina4")
  41. {  $("#pagina4").addClass('activo'); };
  42.    
  43. if (location.pathname.substring(location.pathname.lastIndexOf("/") + 1) == "pagina4.html")
  44. {  $("#pagina4").addClass('activo'); };
  45.    
  46. });

Código CSS:
Ver original
  1. /* Estilos de ejemplo */
  2.  
  3. #header {
  4.     max-width:900px;
  5.     padding-top:15px;
  6.     padding-bottom:15px;
  7.     background:#CCC;
  8. }
  9.  
  10. ul {
  11.     list-style:none;
  12.     margin:0;
  13.     padding:0;
  14. }
  15.  
  16. li {
  17.     color:white;
  18.     display:inline-block;
  19.     margin-left:10px;
  20.     margin-right:10px;
  21.     background:#666;
  22.     padding:15px;
  23. }
  24.  
  25. li:hover {
  26.     color:#666;
  27.     background:white;
  28. }
  29.  
  30. .activo {
  31.     color:#666;
  32.     background:white;
  33.     border:1px red solid;
  34. }

De todas formas te aclaro que algo parecido se podría hace en PHP, pero bueno, este ejemplo está hecho en JS.
__________________
¿Te sirvió la respuesta? Deja un +1
  #5 (permalink)  
Antiguo 05/04/2015, 18:16
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 4 meses
Puntos: 208
Respuesta: Mismo Header para todas las paginas

Podes usar includes de php.

En el lugar donde va el header colocas esto:

Código PHP:
Ver original
  1. <?php include("ruta/de/tu/header.html"); ?>

Y listo.

Saludos
  #6 (permalink)  
Antiguo 06/04/2015, 03:57
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Mismo Header para todas las paginas

Opino como fede5426. Es lo mas sencillo y practico.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #7 (permalink)  
Antiguo 12/04/2015, 09:14
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Mismo Header para todas las paginas

Cita:
Iniciado por fede5426 Ver Mensaje
Podes usar includes de php.

En el lugar donde va el header colocas esto:

Código PHP:
Ver original
  1. <?php include("ruta/de/tu/header.html"); ?>

Y listo.

Saludos
El problema es que no tengo un server php, es para una app de movil :(
  #8 (permalink)  
Antiguo 13/04/2015, 07:33
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Mismo Header para todas las paginas

Cita:
Iniciado por aullate2508 Ver Mensaje
El problema es que no tengo un server php, es para una app de movil :(
Gracias por ignorarme...
__________________
¿Te sirvió la respuesta? Deja un +1
  #9 (permalink)  
Antiguo 14/04/2015, 13:55
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Mismo Header para todas las paginas

Cita:
Iniciado por NueveReinas Ver Mensaje
Gracias por ignorarme...
Jeje no no ... no te he ignorado pero sigo buscando.
Esperaba algo "más limpio" XD
  #10 (permalink)  
Antiguo 14/04/2015, 16:10
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Mismo Header para todas las paginas

Pues con unas funciones ese código se vería decente, ¿por que no lo haces tu?

Saludos
__________________
Grupo Telegram Docker en Español
  #11 (permalink)  
Antiguo 15/04/2015, 14:44
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Mismo Header para todas las paginas

Cita:
Iniciado por Carlangueitor Ver Mensaje
Pues con unas funciones ese código se vería decente, ¿por que no lo haces tu?

Saludos
Por que no se :)
  #12 (permalink)  
Antiguo 15/04/2015, 15:27
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Mismo Header para todas las paginas

Pues por ahí empezamos mal, si quieres que por acá quieres que te hagan el trabajo conformate con que esté feo el código.

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: header, todas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:28.