mmarulandaHola man!!!, bueno a mi se me ocurrió una solución un poco no ortodoxa pero por lo menos funciono
Página padreCódigo HTML :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cargar</title>
<script language="javascript" type="text/javascript">
////Funciones para AJAX
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
// Esta función cargará las paginas
function llamarasincrono(url, id_contenedor){
ajax = objetoAjax();
ajax.onreadystatechange=function(){ // función de respuesta
if (ajax.readyState == 4){
retornado = cargarpagina(ajax, id_contenedor);
if(retornado.length != 0){
aleto(retornado);
}
}
//alert(retornado);
}
ajax.open('GET', url, true); // asignamos los métodos open y send
ajax.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){
//creo unas variables para trabajar los datos
var valor = pagina_requerida.responseText;
var elem = valor.split('[JS]');
document.getElementById(id_contenedor).innerHTML = elem[0];
//alert(elem[1].length);
return elem[1];
}
function aleto(i) {
alert(i);
}
</script>
</head>
<body>
<p>Aqui se mostrara la informacion </p>
<div id="informacion"></div>
<script type="text/javascript">
llamarasincrono("hijo.html", "informacion");
</script>
</body>
</html>
Página hijoCódigo HTML :
<p><font color="#FF0000">Este es el contenido de la página hijo, el cual no necesita las etiquetas html, head body, ya que están incrustadas en el padre</font></p>
[JS]valor enviado por la pagina secundaria
------------------------------------------
Ahora una breve explicación de que se hizo, existe un pequeño problema cuando retornas datos por AJAX, el cuál es que al retornar solo devuelve texto debido a que utilizas un
XMLHttpRequest y el atributo
responseText, por lo cual no puedes retornar nada en javascript, ni hacer que se ejecuten funciones desde una petición de javascript de la página hijo, es más hasta donde sé (puedo estar pecando de ignorante

) ni siquiera se ejecutan los javascripts de la página hijo.
No probé con el atributo
responseBody que retorna un array. Puede que con este atributo si se ejecuten los javascript, como puede que no.
Utilizando la idea básica que se implementa en el BBCode, pues lo que se hace en la página hijo es crear una especie de "delimitador" en mi caso opte por [JS], con [JS] al obtener los datos asincronicamente se divide la cadena por dicho delimitador con la función split(), la cual genera un array. en mi caso en la posición 0 del array, coloque el contenido que quiero que se muestre en el div de la página padre (disculpas por el font, pero me dio pereza ponerle el color con css) y en la posición 1 un valor que utilizare para javascript.
El valor de javascript de la página hijo es retornado, si no colocas nada osea así
Código HTML :
<p><font color="#FF0000">Este es el contenido de la página hijo, el cual no necesita las etiquetas html, head body, ya que están incrustadas en el padre</font></p>
[JS]
(
Advertencia: ten cuidado con los espacios en blanco después de [JS])No se ejecutara ninguna acción, ya que el valor retornado tendrá una longitud 0.
Bueno cualquier duda, pregunta de nuevo, espero te de una pista de como resolver tu dilema