[url]
http://fosquiba.com/Josue/Prueba2.html
[/url]
donde al dar clic en cualquier opcion se cargara en un div contenedor llamada principal donde mando a llamar a la funcion que esta en unos de sus tutoriales:
Código :
<a href= "javascript:llamarasincrono('tutorial1.htm', 'principal')></a>
utilizando la funcion que tienen para cargar paginas en forma asincrona en un div contenedor
Código :
// Esta función cargará las paginas function llamarasincrono(url, id_contenedor){ var pagina_requerida = false if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc pagina_requerida = new XMLHttpRequest() } else if (window.ActiveXObject){ // pero si es IE try { pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ // en caso que sea una versión antigua try{ pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false pagina_requerida.onreadystatechange=function(){ // función de respuesta cargarpagina(pagina_requerida, id_contenedor) } pagina_requerida.open('GET', url, true) // asignamos los métodos open y send pagina_requerida.send(null) } // todo es correcto y ha llegado el momento de poner la información requerida // en su sitio en la pagina xhtml function cargarpagina(pagina_requerida, id_contenedor){ if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText }
Pero no me hace nada :s en el IE 6 me muestra en la barra de estado que tengo un error
document.getElementById(..) que me dice es nulo o no es un objeto pero en el IE7 no me hace nada y claro en el FF tampoco.
Como se fijan mi menu cambia de acuerdo al idioma y claro quiero cargar todas las paginas en ese div contenedor principal donde todas esas opciones las tngo en un arreglo definido en una funcion:
Código :
function menu(pos){ // Esta función define el menu de la página. El argumento <pos> indica la // posición que va a ir "activa". var ele = new Array; var link = new Array; var i = 0; var d = document; // para abreviar var total = 4; ele[ele.length]='<span class="es">INICIO</span><span class="en">HOME</span>'; // 0 ele[ele.length]='<span class="es">EMPRESA</span><span class="en">COMPANY</span>'; // 1 ele[ele.length]='<span class="es">PRODUCTOS</span><span class="en">PRODUCTS</span>'; // 2 ele[ele.length]='<span class="es">INSTALACIONES</span><span class="en">FACILITIES</span>'; // 3 ele[ele.length]='<span class="es">CONTACTO</span><span class="en">CONTACT US</span>'; // 4 // link[link.length]='llamarasincrono('tutorial1.htm', 'principal')'; // 0 link[link.length]='#'; // 1 link[link.length]='#'; // 2 link[link.length]='#'; // 3 link[link.length]='#'; // 4 d.writeln(' <ul id="navi">'); for(i = 0;i<=(pos-1);i++){ d.writeln('<li><a href="'+link[i]+'">'+ele[i]+'</a></li>'); } // For d.writeln('<li><a href="'+link[pos]+'" id="actual">'+ele[pos]+'</a></li>'); for(i = pos+1;i<=total;i++){ d.writeln('<li><a href="'+link[i]+'">'+ele[i]+'</a></li>'); } // For d.writeln(' </ul>'); } // Generador de Menu // // Esta función cargará las paginas function llamarasincrono(url, id_contenedor){ var pagina_requerida = false if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc pagina_requerida = new XMLHttpRequest() } else if (window.ActiveXObject){ // pero si es IE try { pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ // en caso que sea una versión antigua try{ pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false pagina_requerida.onreadystatechange=function(){ // función de respuesta cargarpagina(pagina_requerida, id_contenedor) } pagina_requerida.open('GET', url, true) // asignamos los métodos open y send pagina_requerida.send(null) } // todo es correcto y ha llegado el momento de poner la información requerida // en su sitio en la pagina xhtml function cargarpagina(pagina_requerida, id_contenedor){ if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText }
mi problema es como hago para llamar la funcion llamarasincrono dentro de cada uno de los elementos de mi menu ya que lo intente llamandolo asi
Código :
link[link.length] = 'llamarasincrono('tutorial.htm','principal')';
pero tampoco hace nada espero que me echen la mano o no se que me falta
[/url]