http://www.forosdelweb.com/f127/function-onload-476818/
Al no encontrar nadie que me diese una solución, simplifique las cosas y cambie un poco la extructura, quedandomen de esta manera:
ajax.js
Código HTML:
/// Cargar diferentes includes en una página: var http_request = false; function makeRequest(rutas) { http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType("text/xml"); // Ver nota sobre esta linea al final } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } if (!http_request) { alert("ERROR :( No es posible crear una instancia XMLHTTP"); return false; } http_request.onreadystatechange = alertContents; http_request.open("GET", rutas, true); http_request.send(null); } function alertContents() { if (http_request.readyState == 4) { if (http_request.status == 200) { alert(http_request.responseText); } else { alert("Hubo problemas con la petición."); } } } function XHConn() { var xmlhttp, bComplete = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } } if (!xmlhttp) return null; this.connect = function(sURL, sMethod, sVars, fnDone) { if (!xmlhttp) return false; bComplete = false; sMethod = sMethod.toUpperCase(); try { if (sMethod == "GET") { xmlhttp.open(sMethod, sURL+"?"+sVars, true); sVars = ""; } else { xmlhttp.open(sMethod, sURL, true); xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1"); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && !bComplete) { bComplete = true; fnDone(xmlhttp); } }; xmlhttp.send(sVars); } catch(z) { return false; } return true; }; return this; } function cargar_contenido(capas, rutas) { //var capas=capas; //alert(capas); document.getElementById(capas).innerHTML = "<p>Cargando...</p>"; var myConn = new XHConn(); if (!myConn) alert("XMLHTTP no esta disponible. Inténtalo con un navegador más actual."); var peticion = function (oXML) { document.getElementById(capas).innerHTML = oXML.responseText; }; myConn.connect(rutas, "GET", "", peticion); }
Código HTML:
<head> <script type="text/javascript" language="javascript"> function cargar(ruta,id) { cargar_contenido("foto", "includes/foto.php?f=" + id); //Foto arriba a la izquierda cargar_contenido("fotos", "includes/fotos.php?f=" + id); //Fotos arriba a la derecha cargar_contenido("titulo", "includes/titulos.php?valor=" + id); //Titulo del marco cargar_contenido("banners", "includes/banners.php?b=" + id); //banners if(id == 11) //FORO { cargar_contenido("mayor9", ruta); //Tabla inferior derecha } else { cargar_contenido("mayor9", "includes/enlace.php?id=" + id + "&ruta=" + ruta); //Tabla inferior derecha } } </script> <head> <body> .... <div id="mayor9"> <?php include("includes/enlace.php"); ?> </div> .... </body>
Código HTML:
<a href="javascript:cargar('includes/restaurantes.php','3');">enlace</a><br>
Código HTML:
<script type="text/javascript" language="javascript"> //////////////recuperar variables por GET enviado=location.href.split("?"); igualdades=enviado[1].split("&"); for(a=0;a<igualdades.length;a++) { igualdades[a]=igualdades[a].split("+").join(" "); valores=igualdades[a].split("="); eval("var "+valores[0]+"='"+valores[1]+"'"); } /////////////////////////////////////////// //document.write(id + "<br />"); //document.write(ruta + "<br />"); var rut = "Esto es una variable"; if(ruta) { cargar_contenido("anuncios", "anuncios.php?a=" + id); cargar_contenido("detalles", ruta); } else { cargar_contenido("anuncios", "a.php"); cargar_contenido("detalles", "inicio.php"); } </script> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr><td width="157" height="627" valign="top" bgcolor="#FBF7EB" style="border-left:1px solid #000000;border-right:1px solid #000000;padding:8px;"> <div id="anuncios"> </div> </td><td width="436" valign="top"> <table width="436" border="0" cellpadding="0" cellspacing="0"> <tr><td width="436" height="627" valign="top" class="solidos" style="padding:22px"> <div align="left" class="style3"><div id="detalles"> <script>document.write("variable: " + rut);</script> </div></div> </td></tr> </table> </td></tr> </table>
bichomen