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

