Foros del Web » Programando para Internet » Javascript » Frameworks JS »

ajax onload - moderador?

Estas en el tema de ajax onload - moderador? en el foro de Frameworks JS en Foros del Web. hola tengo 1 problema grandeee! yo tengo una funcion en onload de la pagina! pero tiene contenido ajax :-s en ese onload se hacen unos ...
  #1 (permalink)  
Antiguo 08/12/2009, 00:34
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 16 años
Puntos: 7
ajax onload - moderador?

hola tengo 1 problema grandeee!

yo tengo una funcion en onload de la pagina! pero tiene contenido ajax :-s

en ese onload se hacen unos cambios en el contenido..ejemplo(cambio atributos)
osea cuando es ajax al refrescar el contenido los cambios no se hacen xq no se ejecuta la funcion onload

me pueden decir como arreglar eso?
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #2 (permalink)  
Antiguo 08/12/2009, 03:57
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola jamesjara

Muevo tu tema al foro de AJAX desde Javascript.

Saludos,
  #3 (permalink)  
Antiguo 08/12/2009, 08:17
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 6 meses
Puntos: 65
Respuesta: ajax onload

Y para que tenes eso? Ni bien carga la pagina se te cambian los estilos originales.... Cambiaselos sin permanentemente y listo, no necesitas AJAX ni nada...
  #4 (permalink)  
Antiguo 08/12/2009, 12:23
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 16 años
Puntos: 7
Respuesta: ajax onload

Hola pìenso que movieron el tema al foro equivocado pues el problema no es de ajax, ni puedo tocar nada de ajax porque eso es de un 3 cliente... el cual yo no tengo mano ahi.

pero bueno
@jackson666 - lo que modifico no son estilos, modifico otros atributos.. pero gracias mira es asi:->

repito el problema:
yo tengo un procedimiento en onload , "se inyecta con 1 addon", entonces cuando la pagina a cargado todo hace algunos cambios.(en cualquier pagina-yo no puedo mofificar esas pagians) .. todo esto funciona perfecto
PERO CUANDO...
la pagina contiene contenido ajax.. NO FUNCIONA. la razon es porque el procedimiento es producido en el onload, cuando ese ajax cambia las cosas no hay onload

Ocupo algun tipo de
Onchange body
Onajaxcomplete (no en el ajax)

nota: la solucion no es en ajax...la razon ya les explique
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #5 (permalink)  
Antiguo 08/12/2009, 16:23
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: ajax onload

No existe tal cosa. Además hay páginas que están haciendo vía AJAX rquests a intervalos regulares para actualizar contenido, con lo que estarías nuevamente en problemas. También existen muchas técnicas de AJAX, no sólo XMLHttpRequest, y eso podría complicarte.
Quizás deberías plantearte usar un temporizador (setInterval) para ejecutar lo que necesites ejecutar cuando, luego del evento onload, se produzca algún cambio en document.body.innerHTML.
Es cierto, luego de explicarlo mejor, es más un tema de javascript que de AJAX. Pero como lo explicaste al principio no lo parecía.
  #6 (permalink)  
Antiguo 08/12/2009, 16:58
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: ajax onload

quizas sea por que cuando llamas a una web con ajax.... las funciones de javascript de esa web que esten fuera de funciones no son leidas por la web....

quizas tambien lo que necesites es que cuando ejecutes el ajax, se vuelva a ejecutar una hoja js, en la web que estas llamando.....

Bueno, yo utilizo la libreria jquery.... y ps lo soluciono asi:

Código javascript:
Ver original
  1. var1 = "parametro";
  2.     $.ajax({
  3.         type: 'POST',
  4.         url: 'archivo.php',
  5.         data: 'var1='+var1,
  6.         success: function(text){
  7.             $('#body').html(text);
  8.             $.getScript("js_activate.js");
  9.         }
  10.     });

espero haya podido ayudarte en algo.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 08/12/2009, 23:58
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 16 años
Puntos: 7
Respuesta: ajax onload - moderador?

hola primero que todo el titulo es un msj para el moderador para que me devuelva al foro de javascript... ya es claro la razon

bueno
@masterojitos: gracias pero vieras que esa solucion que me das no me sirve

@Panino5001: lo que dices es eso mismo que necesito... me puedes dar 1 mano
en como puede detectar algún cambio en document.body.innerHTML.

gracias x el tiempo
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #8 (permalink)  
Antiguo 09/12/2009, 15:31
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: ajax onload - moderador?

La parte encerrada entre comentarios corresponde a esa verificación:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title></title>
<
script>
function 
_(id){return document.getElementById(id);}
onload=function(){
    
/*------------*/
    
window.o={}
    
o.m=document.body.innerHTML;
    
setInterval(
        function(){
            if(
o.m!=document.body.innerHTML){
                
o.m=document.body.innerHTML;
                
alert('hubo un cambio');
            }
        },
1000);
    
/*------------*/
    
var aj=(XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');
    
aj.onreadystatechange=function(){
        if(
this.readyState==4){
            
_('pp').innerHTML=this.responseText;
        }
    }
    
aj.open('get','algo.txt',true);
    
aj.send(null);
}
</script>
</head>

<body>
<div id="pp"></div>
</body>
</html> 
  #9 (permalink)  
Antiguo 09/12/2009, 16:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: ajax onload - moderador?

Hola:

Por el momento, y mientras no haya código del autor del mensaje, es difícil tomar la decisión de re-mover el mensaje... El problema, me parece que es ambiguo... acaso la petición ajax se hace antes de que se cargue la página...pero si Ajax son peticiones de usuario... al menos yo sigo hecho un lío... esperemos que el interesado ponga un poco de código, porque en principio Ajax (o al menos eso pienso) son peticiones con la página ya cargada...

Me gustaría entender el problema mejor... pero yo funciono algo mejor con código.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 10/12/2009, 18:31
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ajax onload - moderador?

para detectar cambios en el documento tienes que usar eventos de DOM. desgraciadamente en iexplorer no funcionan y no recuerdo si existe alguna alternativa. se usan de una forma diferente a los eventos que estamos familiarizados. especificamente se registran con la funcion de DOM addEventListener. a continuacion un ejemplo extraido de http://www.webdeveloper.com/forum/sh...d.php?t=207908.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<script type="text/javascript">
window.onload=function() {
document.getElementById("xxxx").addEventListener("DOMAttrModified", changed, false);
};

function changed(e) {
alert(e.attrName+' attribute change occured');
}
</script>

<style type="text/css">
* {margin:0;padding:0;}
</style>

</head>
<body>
<div id="xxxx" style="display:none;">Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum.</div>
<button type="button" onclick="document.getElementById('xxxx').style.display='block';">change style</button>
</body>
</html>
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:02.