Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   HTML (http://www.forosdelweb.com/f4/)
-   -   Cargar menu en la página (http://www.forosdelweb.com/f4/cargar-menu-pagina-575694/)

akende 14/04/2008 02:38

Cargar menu en la página
 
Hola,
tengo en mi pagina un menu desplegable, de esos que creas con Dreamweaver, el tema está en que quiero insertar dicho menu en todas las páginas de la web. No me gusta usar frames.
Hay alguna manera de guardar este código en un archivo y que lo recupere cada página?
El menu esta en javascript.

Ejemplo:
Código HTML:

<script language="JavaScript" type="text/JavaScript">function mmLoadMenus() {
  if (window.mm_menu_1119112526_0) return;
                    window.mm_menu_1119112526_0_1 = new Menu("Opcion 1",150,17,"Verdana, Arial, Helvetica, sans-serif",11,"#476BB4","#000000","#FFFF99","#FFFF99","left","middle",3,1,2000,-5,7,true,true,true,0,true,true);
    mm_menu_1119112526_0_1.addMenuItem("Opcion1.1","location='opciones1/index.html'");
mm_menu_1119113233_0.writeMenus();
} // mmLoadMenus()

Agradeciería ideas, opiniones, etc..
Saludos!

mgusdl 14/04/2008 02:43

Re: Cargar menu en la página
 
Si usas PHP puedes hacer un require en cada pagina.
Dependiendo del servidor web que uses puedes usar funciones de precompilador, en IIS sería:
Código HTML:

<!-- #include file="ruta/nombre.ext" -->
Si no, puedes incluir el menu usando AJAX y si no tiene formularios o algun objeto DOM que requieras llamar mediante funciones JS puedes incluirlo rapidamente mediante "innerHTML"

mgusdl 14/04/2008 03:01

Re: Cargar menu en la página
 
Aqui un pequeño ejemplo, siendo menu.htm el archivo que contiene el menu

Código HTML:

<html>
<head>
<script type="text/javascript">
function xmlobj()
  {
  if (window.XMLHttpRequest) return new XMLHttpRequest();
  else if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
  else alert('No se pudo crear el objeto XML');
  }

function cargamenu()
  {
  xo = xmlobj();
  xo.open('GET', 'menu.htm');
  xo.onreadystatechange = function()
    {
    if (xo.readyState == 4) document.getElementById('menu').innerHTML = xo.responseText;
    }
  xo.send(null);
  }
</script>
</head>
<body onLoad="cargamenu()">
<div id="menu"></div>
</body>
</html>


akende 15/04/2008 03:19

Re: Cargar menu en la página
 
Gracias por contestar pero probando el código de mgsdul me da error en el navegador al cargar la página, me muestra el menu pero no los deplegables, me da error de javascript (Se esperaba un objeto)

Si se puede hacer con php mucho mejor, pero aun hay muchas funciones que no conozco....

Salu2!

mgusdl 15/04/2008 03:45

Re: Cargar menu en la página
 
Vale, eso es porque el ejemplo que te he puesto es a lo bruto, así que no refresca la libreria de objetos DOM y por eso no reconoce los objetos añadidos.
Para hacerlo en PHP:
Código PHP:

<?php
require "menu.htm";
?>



La zona horaria es GMT -6. Ahora son las 23:45.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.