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

Problemas al ejecutar JS desde AJAX

Estas en el tema de Problemas al ejecutar JS desde AJAX en el foro de Frameworks JS en Foros del Web. Cita: Iniciado por ELEKTRON13 Lo que no entiendo es que parte de mi html tengo que poner el var scs=myAjax.responseText.extractScript(); //capturamos los scripts myDivUoTroLugar.innerHTML=myAjax.responseText.stri pScript(); ...

  #1 (permalink)  
Antiguo 18/03/2008, 09:32
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por ELEKTRON13 Ver Mensaje
Lo que no entiendo es que parte de mi html tengo que poner el

var scs=myAjax.responseText.extractScript(); //capturamos los scripts
myDivUoTroLugar.innerHTML=myAjax.responseText.stri pScript(); //eliminamos los scripts... ya son innecesarios
scs.evalScript();

Es lo que no entiendo perdon...

Va en Index.html ? o en la pagina que quiero que se cargue en el div del Index?
A mi me pasa mas o menos lo mismo, estoy empezando y no me aclaro aqui les dejo lo que tengo a ver como es la manera correcta de hacerlo ok?
Código HTML:
<!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"lang="es" xml:lang="es">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>Web de Santibanes de Murias</title>
	<link href="css/estilos.css" rel="stylesheet" type="text/css">
	<script language="JavaScript" type="text/javascript" src="js/codigo.js"></script>
	<script language="JavaScript" type="text/javascript" src="js/interpretadorAJAX.js"></script>
	</head>
<body onLoad="obtenerid('contenedor_menu')">

	
	<div id="Cabecera">
		<p><img src="Imagenes/mar_copia.jpg" /></p>
    </div>
	
	<div id="contenedor_menu">
	
			<div class="secundario" onClick="javascript:llamadasin('', 'contenido');">Inicio</div>
		
		<div class="principal" onClick="mostrar('uno')">Pueblo</div>
		    <div id="uno" style="display:none;">
			<div class="secundario" onClick="javascript:llamadasin('ejemplos/Fotos.html', 'contenido');">Fotos</div>
	            </div>	
	
	<div id="contenido" style="color:#FFFFFF">
	  	<h3 class="titulo" >Bienvenido a esta pagina</h3>
	  	<p>La pagina principal  </p>
	</div>
<script>
		var scs=myAjax.responseText.extractScript();    //capturamos los scripts
         myDivUoTroLugar.innerHTML=myAjax.responseText;      //eliminamos los scripts... ya son innecesarios
        scs.evalScript();       //ahora si, comenzamos a interpretar todo  
</script>
			
</body>
</html> 
este es mi index.html

a continuacion les pongo Fotos.html que es donde tengo mi pagina que quiero que se carge en el index.html a traves de ajax.

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Fotos</title>
<script language="JavaScript" type="text/javascript" src="../js/galeria_fotos.js"></script>
<link href="css/galeria_foto.css" rel="stylesheet" type="text/css">
<script>
 	
var slider = function() {
	/* ==== private methods ==== */
	function getElementsByClass(object, tag, className) {
		var o = object.getElementsByTagName(tag);
		for ( var i = 0, n = o.length, ret = []; i < n; i++) {
			if (o[i].className == className) ret.push(o[i]);
		}
		if (ret.length == 1) ret = ret[0];
		return ret;
	}
	function setOpacity (obj,o) {
		if (obj.filters) obj.filters.alpha.opacity = Math.round(o);
		else obj.style.opacity = o / 100;
	}
	/* ==== Slider Constructor ==== */
	function Slider(oCont, speed, iW, iH, oP) {
		this.slides = [];
		this.over   = false;
		this.S      = this.S0 = speed;
		this.iW     = iW;
		this.iH     = iH;
		this.oP     = oP;
		this.oc     = document.getElementById(oCont);
		this.frm    = getElementsByClass(this.oc, 'div', 'slide');
		this.NF     = this.frm.length;
		this.resize();
		for (var i = 0; i < this.NF; i++) {
			this.slides[i] = new Slide(this, i);
		}
		this.oc.parent = this;
		this.view      = this.slides[0];
		this.Z         = this.mx;
		/* ==== on mouse out event ==== */
		this.oc.onmouseout = function () {
			this.parent.mouseout();
			return false;
		}
	}
	Slider.prototype = {
		/* ==== animation loop ==== */
		run : function () {
			this.Z += this.over ? (this.mn - this.Z) * .5 : (this.mx - this.Z) * .5;
			this.view.calc();
			var i = this.NF;
			while (i--) this.slides[i].move();
		},
		/* ==== resize  ==== */
		resize : function () {
			this.wh = this.oc.clientWidth;
			this.ht = this.oc.clientHeight;
			this.wr = this.wh * this.iW;
			this.r  = this.ht / this.wr;
			this.mx = this.wh / this.NF;
			this.mn = (this.wh * (1 - this.iW)) / (this.NF - 1);
		},
		/* ==== rest  ==== */
		mouseout : function () {
			this.over      = false;
			setOpacity(this.view.img, this.oP);
		}
	}
	/* ==== Slide Constructor ==== */
	Slide = function (parent, N) {
		this.parent = parent;
		this.N      = N;
		this.x0     = this.x1 = N * parent.mx;
		this.v      = 0;
		this.loaded = false;
		this.cpt    = 0;
		this.start  = new Date();
		this.obj    = parent.frm[N];
		this.txt    = getElementsByClass(this.obj, 'div', 'text');
		this.img    = getElementsByClass(this.obj, 'img', 'diapo');
		this.bkg    = document.createElement('div');
		this.bkg.className = 'backgroundText';
		this.obj.insertBefore(this.bkg, this.txt);
		if (N == 0) this.obj.style.borderLeft = 'none';
		this.obj.style.left = Math.floor(this.x0) + 'px';
		setOpacity(this.img, parent.oP);
		/* ==== mouse events ==== */
		this.obj.parent = this;
		this.obj.onmouseover = function() {
			this.parent.over();
			return false;
		}
	}
	Slide.prototype = {
		/* ==== target positions ==== */
		calc : function() {
			var that = this.parent;
			// left slides
			for (var i = 0; i <= this.N; i++) {
				that.slides[i].x1 = i * that.Z;
			}
			// right slides
			for (var i = this.N + 1; i < that.NF; i++) {
				that.slides[i].x1 = that.wh - (that.NF - i) * that.Z;
			}
		},
		/* ==== HTML animation : move slides ==== */
		move : function() {
			var that = this.parent;
			var s = (this.x1 - this.x0) / that.S;
			/* ==== lateral slide ==== */
			if (this.N && Math.abs(s) > .5) {
				this.obj.style.left = Math.floor(this.x0 += s) + 'px';
			}
			/* ==== vertical text ==== */
			var v = (this.N < that.NF - 1) ? that.slides[this.N + 1].x0 - this.x0 : that.wh - this.x0;
			if (Math.abs(v - this.v) > .5) {
				this.bkg.style.top = this.txt.style.top = Math.floor(2 + that.ht - (v - that.Z) * that.iH * that.r) + 'px';
				this.v = v;
				this.cpt++;
			} else {
				if (!this.pro) {
					/* ==== adjust speed ==== */
					this.pro = true;
					var tps = new Date() - this.start;
					if(this.cpt > 1) {
						that.S = Math.max(2, (28 / (tps / this.cpt)) * that.S0);
					}
				}
			}
			if (!this.loaded) {
				if (this.img.complete) {
					this.img.style.visibility = 'visible';
					this.loaded = true;
				}
			}
		},
		/* ==== light ==== */
		over : function () {
			this.parent.resize();
			this.parent.over = true;
			setOpacity(this.parent.view.img, this.parent.oP);
			this.parent.view = this;
			this.start = new Date();
			this.cpt = 0;
			this.pro = false;
			this.calc();
			setOpacity(this.img, 100);
		}
	}
	/* ==== public method - script initialization ==== */
	return {
		init : function() {
			// create instances of sliders here
			// parameters : HTMLcontainer name, speed (2 fast - 20 slow), Horizontal ratio, vertical text ratio, opacity
			this.s1 = new Slider("slider", 12, 1.84/3, 1/3.2, 70);
			setInterval("slider.s1.run();", 16);
		}
	}
}();
// JavaScript Document
</script>
<style>
	html {
		overflow: hidden;
	}

	#center {
		position: absolute;
		left: 55%;
		top:  60%;
	}
	#slider {
		position: absolute;
		width: 820px;
		height: 333px;
		left: -430px;
		top: -186px;
		overflow: hidden;
		background: #000;
		border: 20px solid #000;
	}
	#slider .slide {
		position: absolute;
		top: 0px;
		height: 333px;
		width: 500px;
		background: #000;
		overflow: hidden;
		border-left: #000 solid 1px;
		cursor: default;
	}
	#slider .title   {
		color: #F80;
		font-weight: bold;
		font-size: 1.2em;
		margin-right: 1.5em;
		text-decoration: none;
	}
	#slider .backgroundText {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 100%;
		background: #000;
		filter: alpha(opacity=40);
		opacity: 0.4;
	}
	#slider .text {
		position: absolute;
		top: 1%;
		top: 100%;
		color: #FFF;
		font-family: verdana, arial, Helvetica, sans-serif;
		font-size: 0.9em;
		text-align: justify;
		width: 470px;
		left: 10px;
	}
	#slider .diapo {
		position: absolute;
		filter: alpha(opacity=100);
		opacity: 1;
		visibility: hidden;
	}
</style>
</head>

<body>

<div id="center">
	<div id="slider">
		<div class="slide">
			<img src="../img/IMGP1321.JPG" alt="" width="494" height="339" class="diapo">
			<div class="text">
				  <span class="title">Nere</span>
				  Aqui sale Nere, metiendose entre sus dedos.
			</div>
	  </div>
		<div class="slide">
			<img class="diapo" src="images/sf04.jpg" alt="">
			<div class="text">
				<span class="title">By close-alikes</span>
				Now I have regained hopes in someday finding myself surrounded by
				close-alikes to us. However, they will not be audible, at least not in my
				life span. We resolved the low freq vibration a superior solution for our
				communicational goals ...
			</div>
		</div>
	</div>
</div>

<script type="text/javascript">
/* ==== start script ==== */
slider.init();
</script>
</body>
</html> 
lo siento por la extension pero es que no veo la manera de arreglarlo y estoy muy interesado en saber como funcionaria.

Gracias de antemano, espero me sepais ayudar. Visto lo visto sois unos cracks del tema jejej xao
  #2 (permalink)  
Antiguo 24/03/2008, 07:57
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: HOWTO: Ejecutar javascript que viene de ajax

Cita:
Iniciado por titogelo Ver Mensaje
A mi me pasa mas o menos lo mismo, estoy empezando y no me aclaro aqui les dejo lo que tengo a ver como es la manera correcta de hacerlo ok?
Código HTML:
<!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"lang="es" xml:lang="es">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>Web de Santibanes de Murias</title>
	<link href="css/estilos.css" rel="stylesheet" type="text/css">
	<script language="JavaScript" type="text/javascript" src="js/codigo.js"></script>
	<script language="JavaScript" type="text/javascript" src="js/interpretadorAJAX.js"></script>
	</head>
<body onLoad="obtenerid('contenedor_menu')">

	
	<div id="Cabecera">
		<p><img src="Imagenes/mar_copia.jpg" /></p>
    </div>
	
	<div id="contenedor_menu">
	
			<div class="secundario" onClick="javascript:llamadasin('', 'contenido');">Inicio</div>
		
		<div class="principal" onClick="mostrar('uno')">Pueblo</div>
		    <div id="uno" style="display:none;">
			<div class="secundario" onClick="javascript:llamadasin('ejemplos/Fotos.html', 'contenido');">Fotos</div>
	            </div>	
	
	<div id="contenido" style="color:#FFFFFF">
	  	<h3 class="titulo" >Bienvenido a esta pagina</h3>
	  	<p>La pagina principal  </p>
	</div>
<script>
		var scs=myAjax.responseText.extractScript();    //capturamos los scripts
         myDivUoTroLugar.innerHTML=myAjax.responseText;      //eliminamos los scripts... ya son innecesarios
        scs.evalScript();       //ahora si, comenzamos a interpretar todo  
</script>
			
</body>
</html> 
este es mi index.html

a continuacion les pongo Fotos.html que es donde tengo mi pagina que quiero que se carge en el index.html a traves de ajax.

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Fotos</title>
<script language="JavaScript" type="text/javascript" src="../js/galeria_fotos.js"></script>
<link href="css/galeria_foto.css" rel="stylesheet" type="text/css">
<script>
 	
var slider = function() {
	/* ==== private methods ==== */
	function getElementsByClass(object, tag, className) {
		var o = object.getElementsByTagName(tag);
		for ( var i = 0, n = o.length, ret = []; i < n; i++) {
			if (o[i].className == className) ret.push(o[i]);
		}
		if (ret.length == 1) ret = ret[0];
		return ret;
	}
	function setOpacity (obj,o) {
		if (obj.filters) obj.filters.alpha.opacity = Math.round(o);
		else obj.style.opacity = o / 100;
	}
	/* ==== Slider Constructor ==== */
	function Slider(oCont, speed, iW, iH, oP) {
		this.slides = [];
		this.over   = false;
		this.S      = this.S0 = speed;
		this.iW     = iW;
		this.iH     = iH;
		this.oP     = oP;
		this.oc     = document.getElementById(oCont);
		this.frm    = getElementsByClass(this.oc, 'div', 'slide');
		this.NF     = this.frm.length;
		this.resize();
		for (var i = 0; i < this.NF; i++) {
			this.slides[i] = new Slide(this, i);
		}
		this.oc.parent = this;
		this.view      = this.slides[0];
		this.Z         = this.mx;
		/* ==== on mouse out event ==== */
		this.oc.onmouseout = function () {
			this.parent.mouseout();
			return false;
		}
	}
	Slider.prototype = {
		/* ==== animation loop ==== */
		run : function () {
			this.Z += this.over ? (this.mn - this.Z) * .5 : (this.mx - this.Z) * .5;
			this.view.calc();
			var i = this.NF;
			while (i--) this.slides[i].move();
		},
		/* ==== resize  ==== */
		resize : function () {
			this.wh = this.oc.clientWidth;
			this.ht = this.oc.clientHeight;
			this.wr = this.wh * this.iW;
			this.r  = this.ht / this.wr;
			this.mx = this.wh / this.NF;
			this.mn = (this.wh * (1 - this.iW)) / (this.NF - 1);
		},
		/* ==== rest  ==== */
		mouseout : function () {
			this.over      = false;
			setOpacity(this.view.img, this.oP);
		}
	}
	/* ==== Slide Constructor ==== */
	Slide = function (parent, N) {
		this.parent = parent;
		this.N      = N;
		this.x0     = this.x1 = N * parent.mx;
		this.v      = 0;
		this.loaded = false;
		this.cpt    = 0;
		this.start  = new Date();
		this.obj    = parent.frm[N];
		this.txt    = getElementsByClass(this.obj, 'div', 'text');
		this.img    = getElementsByClass(this.obj, 'img', 'diapo');
		this.bkg    = document.createElement('div');
		this.bkg.className = 'backgroundText';
		this.obj.insertBefore(this.bkg, this.txt);
		if (N == 0) this.obj.style.borderLeft = 'none';
		this.obj.style.left = Math.floor(this.x0) + 'px';
		setOpacity(this.img, parent.oP);
		/* ==== mouse events ==== */
		this.obj.parent = this;
		this.obj.onmouseover = function() {
			this.parent.over();
			return false;
		}
	}
	Slide.prototype = {
		/* ==== target positions ==== */
		calc : function() {
			var that = this.parent;
			// left slides
			for (var i = 0; i <= this.N; i++) {
				that.slides[i].x1 = i * that.Z;
			}
			// right slides
			for (var i = this.N + 1; i < that.NF; i++) {
				that.slides[i].x1 = that.wh - (that.NF - i) * that.Z;
			}
		},
		/* ==== HTML animation : move slides ==== */
		move : function() {
			var that = this.parent;
			var s = (this.x1 - this.x0) / that.S;
			/* ==== lateral slide ==== */
			if (this.N && Math.abs(s) > .5) {
				this.obj.style.left = Math.floor(this.x0 += s) + 'px';
			}
			/* ==== vertical text ==== */
			var v = (this.N < that.NF - 1) ? that.slides[this.N + 1].x0 - this.x0 : that.wh - this.x0;
			if (Math.abs(v - this.v) > .5) {
				this.bkg.style.top = this.txt.style.top = Math.floor(2 + that.ht - (v - that.Z) * that.iH * that.r) + 'px';
				this.v = v;
				this.cpt++;
			} else {
				if (!this.pro) {
					/* ==== adjust speed ==== */
					this.pro = true;
					var tps = new Date() - this.start;
					if(this.cpt > 1) {
						that.S = Math.max(2, (28 / (tps / this.cpt)) * that.S0);
					}
				}
			}
			if (!this.loaded) {
				if (this.img.complete) {
					this.img.style.visibility = 'visible';
					this.loaded = true;
				}
			}
		},
		/* ==== light ==== */
		over : function () {
			this.parent.resize();
			this.parent.over = true;
			setOpacity(this.parent.view.img, this.parent.oP);
			this.parent.view = this;
			this.start = new Date();
			this.cpt = 0;
			this.pro = false;
			this.calc();
			setOpacity(this.img, 100);
		}
	}
	/* ==== public method - script initialization ==== */
	return {
		init : function() {
			// create instances of sliders here
			// parameters : HTMLcontainer name, speed (2 fast - 20 slow), Horizontal ratio, vertical text ratio, opacity
			this.s1 = new Slider("slider", 12, 1.84/3, 1/3.2, 70);
			setInterval("slider.s1.run();", 16);
		}
	}
}();
// JavaScript Document
</script>
<style>
	html {
		overflow: hidden;
	}

	#center {
		position: absolute;
		left: 55%;
		top:  60%;
	}
	#slider {
		position: absolute;
		width: 820px;
		height: 333px;
		left: -430px;
		top: -186px;
		overflow: hidden;
		background: #000;
		border: 20px solid #000;
	}
	#slider .slide {
		position: absolute;
		top: 0px;
		height: 333px;
		width: 500px;
		background: #000;
		overflow: hidden;
		border-left: #000 solid 1px;
		cursor: default;
	}
	#slider .title   {
		color: #F80;
		font-weight: bold;
		font-size: 1.2em;
		margin-right: 1.5em;
		text-decoration: none;
	}
	#slider .backgroundText {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 100%;
		background: #000;
		filter: alpha(opacity=40);
		opacity: 0.4;
	}
	#slider .text {
		position: absolute;
		top: 1%;
		top: 100%;
		color: #FFF;
		font-family: verdana, arial, Helvetica, sans-serif;
		font-size: 0.9em;
		text-align: justify;
		width: 470px;
		left: 10px;
	}
	#slider .diapo {
		position: absolute;
		filter: alpha(opacity=100);
		opacity: 1;
		visibility: hidden;
	}
</style>
</head>

<body>

<div id="center">
	<div id="slider">
		<div class="slide">
			<img src="../img/IMGP1321.JPG" alt="" width="494" height="339" class="diapo">
			<div class="text">
				  <span class="title">Nere</span>
				  Aqui sale Nere, metiendose entre sus dedos.
			</div>
	  </div>
		<div class="slide">
			<img class="diapo" src="images/sf04.jpg" alt="">
			<div class="text">
				<span class="title">By close-alikes</span>
				Now I have regained hopes in someday finding myself surrounded by
				close-alikes to us. However, they will not be audible, at least not in my
				life span. We resolved the low freq vibration a superior solution for our
				communicational goals ...
			</div>
		</div>
	</div>
</div>

<script type="text/javascript">
/* ==== start script ==== */
slider.init();
</script>
</body>
</html> 
lo siento por la extension pero es que no veo la manera de arreglarlo y estoy muy interesado en saber como funcionaria.

Gracias de antemano, espero me sepais ayudar. Visto lo visto sois unos cracks del tema jejej xao
Alguien me puede ayudar con el tema. Veo que queda como un tema viejo y no avanza esto. Creo k alguien sabra como puedo resolver mi duda he visto que hay gente k ha consrguido hacer estas cosas.

Gracias y un saludo
  #3 (permalink)  
Antiguo 24/03/2008, 08:27
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Re: HOWTO: Ejecutar javascript que viene de ajax

loading...........

Hola, creo que confundes las cosas.... este script no es para HACER AJAX sino mas bien para INTERPRETAR EL JAVASCRIPT que viene de algun PROCESO AJAX (osea de otro X script ajax).

connection closed.
__________________

Maborak Technologies
  #4 (permalink)  
Antiguo 24/03/2008, 08:37
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: HOWTO: Ejecutar javascript que viene de ajax

Cita:
Iniciado por MaBoRaK Ver Mensaje
loading...........

Hola, creo que confundes las cosas.... este script no es para HACER AJAX sino mas bien para INTERPRETAR EL JAVASCRIPT que viene de algun PROCESO AJAX (osea de otro X script ajax).

connection closed.
Si si se que es para eso, pero no me funciona. Tengo por un lado una pagina con un menu ajax y quiero llamar a otra pagina que tiene tb ciertas funciones con javasvcript. El caso es que por separado las cosas funcionan tanto en una pagina como en otra. Pero cuando llamo desde el menu a la segunda pagina pues ahi, esta ultima, deja de funcionar. Y querisa saber como debo usar las cosas y donde debo ponerlas para que funcione correctamente.

Un saludo y disculpa mi ignorancia en el tema, si hay algo que no estoy haciendo bien, jejej solo pretendo aprender que me interesa mucho estos temas. Gracias de nuevo
  #5 (permalink)  
Antiguo 24/03/2008, 08:40
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Re: HOWTO: Ejecutar javascript que viene de ajax

loading.............


debes usarlo en tu funcion llamadasin, podrías ponerlo? para ver como está.


connection closed.
__________________

Maborak Technologies
  #6 (permalink)  
Antiguo 24/03/2008, 14:25
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: HOWTO: Ejecutar javascript que viene de ajax

Cita:
Iniciado por MaBoRaK Ver Mensaje
loading.............


debes usarlo en tu funcion llamadasin, podrías ponerlo? para ver como está.


connection closed.
bien este el codigo. codigo.js

Código HTML:
function llamadasin(url, contenedor){
var pagina_requerida = false
if (window.XMLHttpRequest) {
// comprueba si el navegador es opera, safari, mozilla, etc.
	pagina_requerida = new XMLHttpRequest()
}
else if (window.ActiveXObject){ 
// comprueba si el navegador es internet explorer
	try {
		pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
	} 
	catch (e){ 
// caso de versión antigua de internet explorer
		try{
			pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch (e){
		}
	}
}
else {
	return false
}

pagina_requerida.onreadystatechange=function(){ 
// llamada a la función que carga la página
		pintapagina(pagina_requerida, contenedor)
}
// métodos open y send
	pagina_requerida.open('GET', url, true) 
	pagina_requerida.send(null)
}

// función que presenta la información 
function pintapagina(pagina_requerida,contenedor){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
		document.getElementById(contenedor).innerHTML=pagina_requerida.responseText
	}
	
/*De otro js*/
var result;
function obtenerid(dentrodeque){
	frase=document.getElementById(dentrodeque).innerHTML;
	result=new Array();
	result=frase.match(/\b\s+id=[^>\s]+\b/g);
	for(ii=0;ii<result.length;ii++){
		result[ii]=result[ii].split('"').join('');
		result[ii]=result[ii].split('id=').join('');
		result[ii]=result[ii].split(' ').join('');
	}
}
function mostrar(que){
	for(ii=0; ii<result.length ; ii++ ){
		if(que==result[ii]){
			if(document.getElementById(que).style.display=='none'){
				document.getElementById(que).style.display='block';
			}
			else{
				document.getElementById(que).style.display='none';
			}
		}
		else{
			eval("document.getElementById('"+result[ii]+"').style.display='none'");
		}
	}
}
function ir(url){
	window.location=url;
}

/*Otro js*/

	var time = 3000;
	var numofitems = 7;
	
	//menu constructor
	function menu(allitems,thisitem,startstate){ 
	  callname= "gl"+thisitem;
	  divname="subglobal"+thisitem;  
		this.numberofmenuitems = allitems;
		this.caller = document.getElementById(callname);
		this.thediv = document.getElementById(divname);
		this.thediv.style.visibility = startstate;
	}
					 
	//menu methods
	function ehandler(event,theobj){
	  for (var i=1; i<= theobj.numberofmenuitems; i++){
		  var shutdiv =eval( "menuitem"+i+".thediv");
		shutdiv.style.visibility="hidden";
		}
		theobj.thediv.style.visibility="visible";
	}
					
	function closesubnav(event){
	  if ((event.clientY <48)||(event.clientY > 107)){
		for (var i=1; i<= numofitems; i++){
		  var shutdiv =eval('menuitem'+i+'.thediv');
				shutdiv.style.visibility='hidden';
			}  
		}
	}
  #7 (permalink)  
Antiguo 24/03/2008, 15:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: HOWTO: Ejecutar javascript que viene de ajax

Pues teniendo ya tu funcion pintapagina es cuestion de agregarle el codigo que propone Maborak en el primer post:
Código:
function pintapagina(pagina_requerida,contenedor){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) {
                var scs=pagina_requerida.responseText.extractScript();
                document.getElementById(contenedor).innerHTML=pagina_requerida.responseText.stripScript();
        scs.evalScript(); 
	}
}
Saludos.

PD Muevo tus respuestas a un tema nuevo.

Última edición por GatorV; 24/03/2008 a las 16:05
  #8 (permalink)  
Antiguo 24/03/2008, 16:00
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: HOWTO: Ejecutar javascript que viene de ajax

Gracias GatorV ahora si me funciona. Falta un corchete del if eh, por si alguien lo usa tb que se de cuenta de eso.

Gracias xao volvere con mas dudas seguramente jeje.
Tema cerrado por mi.
  #9 (permalink)  
Antiguo 25/03/2008, 11:33
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: HOWTO: Ejecutar javascript que viene de ajax

Hola de nuevo. Esta solucion es aplicable a mas problemas de este tipo??. Es que tengo otro caso que es lo mismo todo, pero claro las funciones no son las mismas. Y a la hora de insertar el codigo de eval, extracStrip etc... no se exactamente donde debe ir. Si es posible una explicacion un poco general para poder aplicarlo a otros problemas se lo agradeceria.

Gracias un saludo

Última edición por titogelo; 25/03/2008 a las 11:43
  #10 (permalink)  
Antiguo 25/03/2008, 13:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas al ejecutar JS desde AJAX

Si ves la solución lo único que hay que hacer es:
1.- De tu Response Text extraes los scripts. (extractScripts())
2.- Pegas el HTML quitando los scripts (pues ya no son necesarios (stripScripts() ))
3.- Evaluas los scripts (evalScripts() )

Saludos.
  #11 (permalink)  
Antiguo 26/03/2008, 04:56
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por GatorV Ver Mensaje
Si ves la solución lo único que hay que hacer es:
1.- De tu Response Text extraes los scripts. (extractScripts())
2.- Pegas el HTML quitando los scripts (pues ya no son necesarios (stripScripts() ))
3.- Evaluas los scripts (evalScripts() )

Saludos.
Ok, para este caso si lo entendi. Pero por ejemplo en otro caso que tengo no veo por ningun lado ResponseText ni nada similar.
Este es el codigo javascritp que tengo ahora. Aparte hay otro tres archivos mas .js que son protptype.lite.js, moo.fx.js, moo.fx.pack.js pero creo k hay no tengo que mirar nada. Si hace falta lo pego tb aki no pasa nada.

Código:
<script type="text/javascript">
function init(){
	var stretchers = document.getElementsByClassName('box');
	var toggles = document.getElementsByClassName('tab');
	var myAccordion = new fx.Accordion(
		toggles, stretchers, {opacity: false, height: true, duration: 600}
	);
	//hash functions
	var found = false;
	toggles.each(function(h3, i){
		var div = Element.find(h3, 'nextSibling');
			if (window.location.href.indexOf(h3.title) > 0) {
				myAccordion.showThisHideOpen(div);
				found = true;
			}
		});
		if (!found) myAccordion.showThisHideOpen(stretchers[0]);
}
</script>
Una solucion para este caso por ejemplo como seria. Nuevamente gracias por todo. Un saludo
  #12 (permalink)  
Antiguo 26/03/2008, 09:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas al ejecutar JS desde AJAX

Ese código que pones no hace consultas AJAX solo es para hacer un slide o algo por el estilo, si necesitas ayuda en como configurar tenemos un foro de Frameworks en el foro de JavaScript.

Saludos.
  #13 (permalink)  
Antiguo 26/03/2008, 09:56
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por GatorV Ver Mensaje
Ese código que pones no hace consultas AJAX solo es para hacer un slide o algo por el estilo, si necesitas ayuda en como configurar tenemos un foro de Frameworks en el foro de JavaScript.

Saludos.
Ya este en si no hace ese tipos de consultas pero queiro realizar la misma operacion k con el problema anterior, desde un index llamar a esta otra pagina k tiene un slide. El slide si lo llamo desde el index no me funciona(vamos el mismo problema que tenia antes).

Gracias
  #14 (permalink)  
Antiguo 26/03/2008, 10:26
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Re: Problemas al ejecutar JS desde AJAX

loading..................


Talvez sea porque cargas archivos js, para ese caso debes hacer esto

Código PHP:
function pintapagina(pagina_requerida,contenedor){
    if (
pagina_requerida.readyState == && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) {
                var 
scs=pagina_requerida.responseText.extractScript();
                
document.getElementById(contenedor).innerHTML=pagina_requerida.responseText;
        
scs.evalScript(); 
    }

Puedes notar que he quitado el stripScripts()

Ya que el script ELIMINA TODOS LOS TAG SCRIPT pero no pensé en que también podría ponerse un tag script que tuviera archivos javascript..... bueno, es un bug mas.

La solucion:

ya no poner stripScripts().

O bien mejorar la funcion stripScripts() para que no elimine tags VACIOS ya que se trataría de un archivo javascript...

alguien lo hace?... :p

connection closed.
__________________

Maborak Technologies
  #15 (permalink)  
Antiguo 26/03/2008, 11:00
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por MaBoRaK Ver Mensaje
loading..................


Talvez sea porque cargas archivos js, para ese caso debes hacer esto

Código PHP:
function pintapagina(pagina_requerida,contenedor){
    if (
pagina_requerida.readyState == && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) {
                var 
scs=pagina_requerida.responseText.extractScript();
                
document.getElementById(contenedor).innerHTML=pagina_requerida.responseText;
        
scs.evalScript(); 
    }

Puedes notar que he quitado el stripScripts()

Ya que el script ELIMINA TODOS LOS TAG SCRIPT pero no pensé en que también podría ponerse un tag script que tuviera archivos javascript..... bueno, es un bug mas.

La solucion:

ya no poner stripScripts().

O bien mejorar la funcion stripScripts() para que no elimine tags VACIOS ya que se trataría de un archivo javascript...

alguien lo hace?... :p

connection closed.
Uhhh ahora si que me perdi!!!. Creo que has mezclado cosas de la anterior duda ... sobre lo k estoy preugntando ahora no hay funcion pinta_pagina ni nada.

Xao
  #16 (permalink)  
Antiguo 26/03/2008, 12:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas al ejecutar JS desde AJAX

Pues llama a la pagina igual desde el index, evalúas el Javascript y se crea el Slide, es el mismo proceso, pero adaptale lo que te dice Maborak, no quites los tags de <script> ya que eliminarías también las librerías de prototype y las demás que usas..

Saludos.
  #17 (permalink)  
Antiguo 28/03/2008, 08:30
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por GatorV Ver Mensaje
Pues llama a la pagina igual desde el index, evalúas el Javascript y se crea el Slide, es el mismo proceso, pero adaptale lo que te dice Maborak, no quites los tags de <script> ya que eliminarías también las librerías de prototype y las demás que usas..

Saludos.
Nada, me lio yo solo. Jeje os parecera sencillo pero yo no se desde donde tengo k llamar a las funciones k me indicais ahi. En el ejemplo de Maborak la variable que llama a stripscript y evalscript y todo eso es una variable bool y aki yo no tengo ninguna del estilo. Estoy muy perdido lo siento. Lo he revisado mil veces y no consigo nada.
GRacias y un saludo
  #18 (permalink)  
Antiguo 28/03/2008, 09:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas al ejecutar JS desde AJAX

Pon el código de la página que hace la llamada AJAX para traer la pagina que tiene los slides para que podamos ver como lo estas implementando.

Saludos.
  #19 (permalink)  
Antiguo 28/03/2008, 10:06
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por GatorV Ver Mensaje
Pon el código de la página que hace la llamada AJAX para traer la pagina que tiene los slides para que podamos ver como lo estas implementando.

Saludos.
Código HTML:
<!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"lang="es" xml:lang="es">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>Web de Santibanes de Murias</title>
	<link href="css/estilos.css" rel="stylesheet" type="text/css">
	<script language="JavaScript" type="text/javascript" src="../js/codigo.js"></script>
	<script language="JavaScript" type="text/javascript" src="../js/interpretadorAJAX.js"></script>
	<script src="../js/prototype.js" type="text/javascript"></script>
	<script src="../js/scriptaculous.js?load=effects" type="text/javascript"></script>
	<script src="../js/lightbox.js" type="text/javascript"></script>
	<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
	
	</head>
<body onLoad="obtenerid('contenedor_menu')">

	
	<div id="Cabecera">
		<p><img src="../Imagenes/mar_copia.jpg" /></p>
    </div>
	
	<div id="contenedor_menu">
	
		<div class="secundario"><a href="index.html">Inicio</a></div>
		<div class="principal" onClick="mostrar('uno')">Pueblo</div>
		<div id="uno" style="display:none;">
			<div class="auxiliar" onClick="javascript:llamadasin('Fotos.html', 'contenido');">Fotos</div>
<!--			<div class="auxiliar" onClick="javascript:llamadasin('Informacion.html', 'contenido');">Informacion</div> -->
			<div class="auxiliar"><a href="Informacion.html">Informacion</a></div>
			<div class="auxiliar" onClick="javascript:llamadasin('Poblacion.html', 'contenido');">Poblacion</div>
			<div class="auxiliar" onClick="javascript:llamadasin('Fiestas.html', 'contenido');">Fiestas</div>
			<div class="auxiliar" onClick="javascript:llamadasin('Visita_virtual.html', 'contenido');">¡Que ver en Santibanes!</div>
			<div class="auxiliar" onClick="javascript:llamadasin('Tradiciones.html', 'contenido');">Tradicion</div>
		</div>
		<div class="principal" onClick="mostrar('dos')">Asociacion Juvenil</div>
		<div id="dos" style="display:none;">
			<div class="auxiliar" onClick="javascript:llamadasin('Cordobeyu.html', 'contenido');">Miembros</div>
			<div class="auxiliar" onClick="javascript:llamadasin('ej1.html', 'contenido');">Sede</div>
			<div class="auxiliar" onClick="javascript:llamadasin('ej3.html', 'contenido');">Reuniones</div>
		</div>
		<div class="principal" onClick="mostrar('tres')">Rutas de interes</div>
		<div id="tres" style="display:none;">
			<div class="auxiliar" onClick="javascript:llamadasin('ej1.html', 'contenido');">Santibanes - Coto Bello</div>
			<div class="auxiliar" onClick="javascript:llamadasin('Fotos.html', 'contenido');">Santibanes - Rason</div>
			<div class="auxiliar" onClick="javascript:llamadasin('ej3.html', 'contenido');">Más ...</div>
		</div>		
		<div class="secundario" onClick="javascript:llamadasin('../phpBB2/index.php', 'contenido');">Foro</div>
		<div class="principal" onClick="mostrar('cinco')">Links</div>
		<div id="cinco" style="display:none;">
			<div class="auxiliar" ><a href="http://www.nembra.net">Nembra</a></div>
			<div class="auxiliar" onClick="javascript:llamadasin('Fotos.html', 'contenido');">Boo</div>
			<div class="auxiliar" onClick="javascript:llamadasin('Fotos.html', 'contenido');">Moreda</div>
			<div class="auxiliar" onClick="javascript:llamadasin('Fotos.html', 'contenido');">Más ...</div>			
		</div>
		<div class="secundario" onClick="javascript:llamadasin('ej1.html', 'contenido');">Contactos</div>
	</div>	
	
	<div id="contenido" style="color:#FFFFFF" >
	  	<h3 class="titulo" style="color:#FF0000; font-family:'Lucida Handwriting'; font-size:24px ">Bienvenido...</h3>
	  	<p style="font-family:Georgia, 'Times New Roman', Times, serif, 'Lucida Handwriting'; padding:10px"><br />... a la web dedicada al Pueblo de <b>Santibañez de Murias</b> o tambien conocido como <b>Santibanes de Murias.</b>
<br />
<br />
     Un sitio web que tiene el objeto de informar, orientar y entretener a todos aquellos navegantes deseosos de introducirse en la historia de un pueblo llamado Santibanes. Su paisaje y su historia suscita un gran interés por parte de los que aquí hemos crecido y curiosidad por los que no han tenido esa suerte. Con la ayuda de los vecinos y apoyándonos simplemente en las fotografías que ellos nos han facilitado hemos querido reflejar la historia, tradiciones, fiestas ...
<br />
A través de estas paginas podrás realizar tambien, un recorrido por la historia y el presente del pueblo en varias galerías fotográficas.
<br />
Si este recorrido te ha resultado interesante te invitamos a conocernos, es muy fácil llegar al pueblo gracias al mapa de situación que te ofrecemos, aunque si estas demasiado lejos nos conformamos con un simple correo electrónico o una carta. Las distintas maneras de ponerte en contacto con nosotros las tienes aquí. </p>
	  	<p align="right" style="font-family:Georgia, 'Times New Roman', Times, serif, 'Lucida Handwriting'; padding:10px">Saludos de parte de todos los habitantes del pueblo <b style="color:#FFFF00">Santibanes.</b></p>
			</div>
	<div class="push"></div>

	<div id="footer">
		<p><a href="Webmaster.html">Quien Somos </a>&nbsp;&nbsp;<a href="Webmaster.html">Contactanos</a>&nbsp;&nbsp;<a href="Webmaster.html">Agradecimientos</a>&nbsp;&nbsp;<a href="Webmaster.html">Contactanos</a></p>
		<p>Copyright © 2007-2008 Santibanes, Inc. All rights reserved. <img src="../Imagenes/valid-css.gif" /><img src="../Imagenes/valid-xhtml10.gif" /></p>
	</div>	
</body>		
</html> 
Este es el codigo (es el index.html)
  #20 (permalink)  
Antiguo 28/03/2008, 11:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas al ejecutar JS desde AJAX

En ese código no pones el código de la llamada AJAX, así no te puedo ayudar, debes de poner el código JavaScript.

Saludos.
  #21 (permalink)  
Antiguo 28/03/2008, 11:23
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por GatorV Ver Mensaje
En ese código no pones el código de la llamada AJAX, así no te puedo ayudar, debes de poner el código JavaScript.

Saludos.
ok te entendi mal te pongo todos los js.

Código:
// Documento JavaScript
function llamadasin(url, contenedor){
var pagina_requerida = false
if (window.XMLHttpRequest) {
// comprueba si el navegador es opera, safari, mozilla, etc.
	pagina_requerida = new XMLHttpRequest()
}
else if (window.ActiveXObject){ 
// comprueba si el navegador es internet explorer
	try {
		pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
	} 
	catch (e){ 
// caso de versión antigua de internet explorer
		try{
			pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch (e){
		}
	}
}
else {
	return false
}

pagina_requerida.onreadystatechange=function(){ 
// llamada a la función que carga la página
		pintapagina(pagina_requerida, contenedor)
}
// métodos open y send
	pagina_requerida.open('GET', url, true) 
	pagina_requerida.send(null)
}

// función que presenta la información 
/*function pintapagina(pagina_requerida,contenedor){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
		document.getElementById(contenedor).innerHTML=pagina_requerida.responseText
	}
	*/
function pintapagina(pagina_requerida,contenedor){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) {
                var scs=pagina_requerida.responseText.extractScript();
                document.getElementById(contenedor).innerHTML=pagina_requerida.responseText.stripScript();
        scs.evalScript(); 
	}
}
	
/*De otro js*/
var result;
function obtenerid(dentrodeque){
	frase=document.getElementById(dentrodeque).innerHTML;
	result=new Array();
	result=frase.match(/\b\s+id=[^>\s]+\b/g);
	for(ii=0;ii<result.length;ii++){
		result[ii]=result[ii].split('"').join('');
		result[ii]=result[ii].split('id=').join('');
		result[ii]=result[ii].split(' ').join('');
	}
}
function mostrar(que){
	for(ii=0; ii<result.length ; ii++ ){
		if(que==result[ii]){
			if(document.getElementById(que).style.display=='none'){
				document.getElementById(que).style.display='block';
			}
			else{
				document.getElementById(que).style.display='none';
			}
		}
		else{
			eval("document.getElementById('"+result[ii]+"').style.display='none'");
		}
	}
}
function ir(url){
	window.location=url;
}

/*Otro js*/

	var time = 3000;
	var numofitems = 7;
	
	//menu constructor
	function menu(allitems,thisitem,startstate){ 
	  callname= "gl"+thisitem;
	  divname="subglobal"+thisitem;  
		this.numberofmenuitems = allitems;
		this.caller = document.getElementById(callname);
		this.thediv = document.getElementById(divname);
		this.thediv.style.visibility = startstate;
	}
					 
	//menu methods
	function ehandler(event,theobj){
	  for (var i=1; i<= theobj.numberofmenuitems; i++){
		  var shutdiv =eval( "menuitem"+i+".thediv");
		shutdiv.style.visibility="hidden";
		}
		theobj.thediv.style.visibility="visible";
	}
					
	function closesubnav(event){
	  if ((event.clientY <48)||(event.clientY > 107)){
		for (var i=1; i<= numofitems; i++){
		  var shutdiv =eval('menuitem'+i+'.thediv');
				shutdiv.style.visibility='hidden';
			}  
		}
	}
este es con el que traigo el slide al index.

¿Porque para la galeria de fotos funciona y para el slide no?

Gracias y lo siento por la confusiom
  #22 (permalink)  
Antiguo 28/03/2008, 11:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas al ejecutar JS desde AJAX

Como te comento mas arriba Maborak, tu problema esta en tu función pintapagina, revisa su post y compáralo con tu función pintapagina.

Saludos.
  #23 (permalink)  
Antiguo 28/03/2008, 12:38
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por GatorV Ver Mensaje
Como te comento mas arriba Maborak, tu problema esta en tu función pintapagina, revisa su post y compáralo con tu función pintapagina.

Saludos.
No funciona.

Os Explico de una manera clara lo que deseo.

en este enlace esta la pagina sobre la que estoy trabajando. http://santibanes.freehostia.com/ejemplos/index.html: en esta pagina vamos al menu y accedemos a pueblo se desplegara un submenu ahi acemos clic en fotos y sale una galeria de fotos que funciona a la perfeccion (gracias a vuestra ayuda).

Bien ahora vamos a la seccion que justo debejo en el menu(dentro de pueblo tambien) es decir a informacion. Aqui deberia salir un slide y lo que sale es lo que se ve todo desplegado y sin funcionar. Lo que deseo es que funcione correctamente, como lo hace aqui (esta es la pagina que deseo llamar con ajax.)
ttp://santibanes.freehostia.com/ejemplos/Informacion.html


Bien esto es lo que quiero que funcione. Y eliminando el stripscript no funcionó. Siento las molestias si no veis una solucion no os preocupeis jeje ya se me ocurrira otra cosa.

Gracias y un saludo
  #24 (permalink)  
Antiguo 28/03/2008, 12:45
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Re: Problemas al ejecutar JS desde AJAX

loading.............

Lo revisaré luego... al parecer el DNS de tu servidor anda caído.

connection closed.
__________________

Maborak Technologies
  #25 (permalink)  
Antiguo 28/03/2008, 13:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas al ejecutar JS desde AJAX

Si lees el post de Maborak lo que tienes que hacer es quitar el stripScript:
Código:
function pintapagina(pagina_requerida,contenedor){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) {
                var scs=pagina_requerida.responseText.extractScript();
                document.getElementById(contenedor).innerHTML=pagina_requerida.responseText;
        scs.evalScript(); 
	}
}
PD Tu servidor esta caído y no puedo revisar.

Saludos.
  #26 (permalink)  
Antiguo 29/03/2008, 12:04
 
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Problemas al ejecutar JS desde AJAX

Cita:
Iniciado por GatorV Ver Mensaje

PD Tu servidor esta caído y no puedo revisar.

Saludos.
Sigue caido????, a mi me funciona

Saludos.

Última edición por titogelo; 29/03/2008 a las 12:23
  #27 (permalink)  
Antiguo 29/03/2008, 13:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas al ejecutar JS desde AJAX

Desde este lado no puedo entrar.

Saludos.
  #28 (permalink)  
Antiguo 28/11/2008, 13:43
 
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 0
tego esto pero no se donde poner el codigo, para interpretar este script

Ya he logrado que me interprete bien el script que cargo en el div, el proble ahora es que tengo una ventana pup que no me sale eso se podra tambien hacer, lo que hace la la pagina que cargo en el Div es que cuando das clic en i¡un boton sale una ventana pup con un calendario........................................ ................... help me .............. si alguien sabe

Última edición por hcurbelo; 28/11/2008 a las 14:15
  #29 (permalink)  
Antiguo 18/12/2008, 10:31
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al ejecutar JS desde AJAX

Hola!, tengo un problema, hago tal cual, agrego el script de InterpretarAJAX, y agrego en mi AJAX (var src=ajax.responseText.extractScript(),...etc)..
Pero INTERNET EXPLORER me da este Error 80020101, en Mozilla Firefox corre perfectamente, porque será?

Muchas gracias
  #30 (permalink)  
Antiguo 18/12/2008, 10:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problemas al ejecutar JS desde AJAX

Ese error por lo que he visto pasa cuando el codigo que quieres evaluar esta interactuando con el DOM del documento y por algo tiene un error o algo por el estilo, trata de ejecutar el javascript directo sin evaluarlo por Javascript para que veas en que linea se "ahoga".

Saludos.
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.
Tema Cerrado

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 13:55.