Foros del Web » Creando para Internet » Diseño web »

Recargar parte de web?

Estas en el tema de Recargar parte de web? en el foro de Diseño web en Foros del Web. Hola,otra vez yo^^ XD Bueno, en mi wb ya tengo todo separado por includes, absolutamente todo, lo que quiero saber es: ¿Que tengo que poner ...
  #1 (permalink)  
Antiguo 23/04/2010, 07:40
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Recargar parte de web?

Hola,otra vez yo^^ XD
Bueno, en mi wb ya tengo todo separado por includes, absolutamente todo, lo que quiero saber es:
¿Que tengo que poner para que cuando haga click en descargas,NO SE RECARGUEN LOS MENU.PHP y Sidebar.PHP? y se cambie POST.PHP a DESCARGAS.PHP??
Gracias de antemano.
  #2 (permalink)  
Antiguo 23/04/2010, 09:39
RatonesPelones
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Recargar parte de web?

creo (voy a partir de un supuesto unicamente) que en tu web no estás considerando el uso de iframes y eso te ayudaría bastante para hacer lo que tu quieres...
  #3 (permalink)  
Antiguo 23/04/2010, 10:40
 
Fecha de Ingreso: octubre-2006
Ubicación: Quart de Poblet, Valencia
Mensajes: 767
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Recargar parte de web?

Noooor!!

PECDUDFEI!! Plataforma en contra del uso de frames e iframes! (xDD)

A ver, lo primero, olvídate de usar iframes (Lo siento RatonesPeleones) no me voy a extender en el porqué no usarlos (busca un poco en google y encontrarás miles de respuestas)

Para no recargar todo el site y solo recargar una parte de la página deberás usar AJAX, Asynchronous JavaScript And XML (JavaScript asíncrono y XML), de esta manera harás la petición de X página en X sitio de la página, por ejemplo en un div llamado "contenido".

En cuanto opinión personal, después de haber probado varios frameworks como MooTools, Prototype + Scriptaculous, y jquery, me quedo con este último.

Busca por internet jQuery y encontrarás una gran cantidad de contenidos relacionados, entre ellos, con cargar una página mediante ajax.

Un saludo!
  #4 (permalink)  
Antiguo 23/04/2010, 11:48
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por T_O_N_N_Y Ver Mensaje
Noooor!!

PECDUDFEI!! Plataforma en contra del uso de frames e iframes! (xDD)

A ver, lo primero, olvídate de usar iframes (Lo siento RatonesPeleones) no me voy a extender en el porqué no usarlos (busca un poco en google y encontrarás miles de respuestas)

Para no recargar todo el site y solo recargar una parte de la página deberás usar AJAX, Asynchronous JavaScript And XML (JavaScript asíncrono y XML), de esta manera harás la petición de X página en X sitio de la página, por ejemplo en un div llamado "contenido".

En cuanto opinión personal, después de haber probado varios frameworks como MooTools, Prototype + Scriptaculous, y jquery, me quedo con este último.

Busca por internet jQuery y encontrarás una gran cantidad de contenidos relacionados, entre ellos, con cargar una página mediante ajax.

Un saludo!
Gracias,pero me han dicho por ahi que se puede hacer por PHP. Sabes como?
  #5 (permalink)  
Antiguo 24/04/2010, 05:18
 
Fecha de Ingreso: octubre-2006
Ubicación: Quart de Poblet, Valencia
Mensajes: 767
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Recargar parte de web?

Nop, con php SOLO no se puede hacer.

Un saludo.
  #6 (permalink)  
Antiguo 24/04/2010, 06:23
Tew
 
Fecha de Ingreso: enero-2006
Mensajes: 1.562
Antigüedad: 18 años, 3 meses
Puntos: 17
Respuesta: Recargar parte de web?

Pero a ver, yo sigo sin entender que problema hay con que se cargue o no el mismo menu que se esta mostrando. Si cuando acabe de cargar la pagina vas a ver lo mismo: el menu.

Explica la situacion para que la entendamos, plis.
  #7 (permalink)  
Antiguo 24/04/2010, 06:31
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por Tew Ver Mensaje
Pero a ver, yo sigo sin entender que problema hay con que se cargue o no el mismo menu que se esta mostrando. Si cuando acabe de cargar la pagina vas a ver lo mismo: el menu.

Explica la situacion para que la entendamos, plis.
Pues porque en el menú de la parte izquierda tengo un reproductor y el recargar el menú se para la música y hay que volver a darle al play y no me interesa PARA NADA poner el reproductor en un pop-up
  #8 (permalink)  
Antiguo 24/04/2010, 06:48
Tew
 
Fecha de Ingreso: enero-2006
Mensajes: 1.562
Antigüedad: 18 años, 3 meses
Puntos: 17
Respuesta: Recargar parte de web?

Pues PHP es un lenguaje del lado del servidor. Cualquier cambio que quieras en tu pagina tendras que hacerle una peticion al servidor y por tanto recargarla.

Usa un iframe para cargar el cuerpo de la pagina, o AJAX, etc.
  #9 (permalink)  
Antiguo 24/04/2010, 07:37
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por Tew Ver Mensaje
Pues PHP es un lenguaje del lado del servidor. Cualquier cambio que quieras en tu pagina tendras que hacerle una peticion al servidor y por tanto recargarla.

Usa un iframe para cargar el cuerpo de la pagina, o AJAX, etc.
He estado leyendo por ahi y me gustaria hacerlo con AJAX, pero no encuentro ningun tutorial para hacerlo,me podrías explicar como hacerlo o pasarme un link con un tutorial o algo? muchisimas gracias a todos.
  #10 (permalink)  
Antiguo 25/04/2010, 09:31
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: Recargar parte de web?

Hola
Yo suelo usar jquery para hacer ese tipo de cosas, puedes ver estos tutoriales

Enviar formularios sin recargar

Actualizar un elemento sin recargar
  #11 (permalink)  
Antiguo 25/04/2010, 18:08
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Recargar parte de web?

Ya mira, algunos desinformados piensan que el uso de includes de PHP puede lograr eso, en este foro he visto varias respuestas de ese tipo, confundiendo lo que es el procesamiento de servidor que realiza PHP con la carga de las partes que se puede realizar, en este caso solo con Ajax. No vayas al grano, aprende primero como trabaja Ajax, después verás la manera. Hay una técnica que puede realizar eso, logrando algo parecido a lo que hace facebook.

Seguro ahora no lo entenderás pero cuando aprendas Ajax talvez sí. Si ya tienes la página completa no hace falta hacer un cambio radical para que se refresquen solo ciertas partes mediante Ajax. Solamente se aplica una función JavaScript a todos los links, del menú. Talvez a otros más, depende del caso, se puede usar algún atributo del tag "a" para definir que links van a ser afectados por la función JavaScript. Bien, mediante la función JavaScript se cancela la acción mediante event.preventDefault, se coge la url, esa url se envia a una funciòn Ajax para que mediante PHP y CURL puedas tomar el contenido de esa URL, mediante DOM en PHP se coge solamente lo que necesita ser recargado, luego de vuelta a la función Ajax, se imprime en el DIV determinado la parte que debe ser recargado. Lo malo de esta técnica es la necesidad ineludible de usar innerHTML, algo que a muchos no les gusta, yo también he dejado de usarlo, no por que no sea estàndar. Eso no me preocupa porque ahora que no es estàndar los principales navegadores lo implementan porque van a dejar de implementarla mas adelante? acaso se declarará "super no estàndar"? Yo he dejado de implementarlo por el costo que implica devolver todo un bloque completo de HTML en lugar de datos estructurados mediante JSON.

Quizàs lo anterior te sonò a francés (no digo a chino porque estoy seguro que aunque sea alguito entendiste). Pero verás que si investigas podrás entenderlo y talvez aplicarlo. Suerte!
  #12 (permalink)  
Antiguo 26/04/2010, 15:25
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: Recargar parte de web?

De acuerdo en parte con ElJavista si bien es cierto que trayendo datos con json es menos pesado, si la cuestion es enviar un formulario y mostrar un mensaje sencillo no hace falta usar json.

Y no se te ocurra usar ajax para traer toda una página web como si fuera un iframe que para eso no sirve el ajax
  #13 (permalink)  
Antiguo 26/04/2010, 19:03
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Recargar parte de web?

Cita:
Y no se te ocurra usar ajax para traer toda una página web como si fuera un iframe que para eso no sirve el ajax
Bueno, si lo dices así, la pregunta es cómo lo hace facebook?
  #14 (permalink)  
Antiguo 27/04/2010, 20:21
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: Recargar parte de web?

Traduce lo de "no sirve para eso" en el sentido que no es el uso apropiado porque se pierde SEO, porque requiere más recursos, entre otras razones.

Aún en el caso de Facebook sólo ciertos contenidos son invocados así ya que se comparte buena parte de la página como los menus, barra de la izquierda pero no todo funciona con ajax
  #15 (permalink)  
Antiguo 28/04/2010, 08:29
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Bueno,el caso es,me enviais alguna página para aprender AJAX? Gracias =)
  #16 (permalink)  
Antiguo 28/04/2010, 13:38
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: Recargar parte de web?

Te pasé 2 links que hacen eso, también puedes usar la ayuda de jquery docs.jquery.com

Y finalmente puedes usar un plugin que hace eso de forma automática en:
http://garage.pimentech.net/scripts_doc_jquery_jframe/
  #17 (permalink)  
Antiguo 02/05/2010, 17:55
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por XLogus Ver Mensaje
Te pasé 2 links que hacen eso, también puedes usar la ayuda de jquery docs.jquery.com

Y finalmente puedes usar un plugin que hace eso de forma automática en:
[url]http://garage.pimentech.net/scripts_doc_jquery_jframe/[/url]
Vale,po el caso es que no entiendo nada,no tengo ni idea de esto jaja me referia a un manual para aprender desde cero o algo asi, muchas graias de todos modos.
  #18 (permalink)  
Antiguo 10/07/2010, 15:50
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por XLogus Ver Mensaje
Te pasé 2 links que hacen eso, también puedes usar la ayuda de jquery docs.jquery.com

Y finalmente puedes usar un plugin que hace eso de forma automática en:
[url]http://garage.pimentech.net/scripts_doc_jquery_jframe/[/url]
Hola.
Gracias por tu ayuda en este tema, perdon por tardar tanto en contestar, pero habia perdido la contraseña y tengo la cuenta registrada en mi mail viejo.
Al final conseguí lo que quería.
Por si a alguien le sirve lo posteo aquí.



Este script se debe poner en el <head> de la página y cambiar el nombre del div del contenido a "contenedor" es decr, si el div de tu contenido es "<div class="contenido">" hay que cambiarlo a "<div class=contenedor">"


Aquí dejo el código.
Código:
<script type="text/javascript">

function ajaxFunction() {

  var xmlHttp;

  

  try {

   

    xmlHttp=new XMLHttpRequest();

    return xmlHttp;

  } catch (e) {

    

    try {

      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

      return xmlHttp;

    } catch (e) {

      

	  try {

        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

        return xmlHttp;

      } catch (e) {

        alert("Tu navegador no soporta AJAX!");

        return false;

      }}}

}









function Enviar(_pagina,capa) {

    var ajax;

    ajax = ajaxFunction();

    ajax.open("POST", _pagina, true);

    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



    ajax.onreadystatechange = function() {

		if (ajax.readyState==1){

			document.getElementById(capa).innerHTML = " Cargando,espere por favor...";

			     }

		if (ajax.readyState == 4) {

		   

                document.getElementById(capa).innerHTML=ajax.responseText; 

		     }}

			 

	ajax.send(null);

} 







</script>
Y repido.Gracias por tu ayuda.
  #19 (permalink)  
Antiguo 10/07/2010, 15:51
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por ElJavista Ver Mensaje
Bueno, si lo dices así, la pregunta es cómo lo hace facebook?
Cita:
Iniciado por XLogus Ver Mensaje
Te pasé 2 links que hacen eso, también puedes usar la ayuda de jquery docs.jquery.com

Y finalmente puedes usar un plugin que hace eso de forma automática en:
[url]http://garage.pimentech.net/scripts_doc_jquery_jframe/[/url]
Hola.
Gracias por tu ayuda en este tema, perdon por tardar tanto en contestar, pero habia perdido la contraseña y tengo la cuenta registrada en mi mail viejo.
Al final conseguí lo que quería.
Por si a alguien le sirve lo posteo aquí.



Este script se debe poner en el <head> de la página y cambiar el nombre del div del contenido a "contenedor" es decr, si el div de tu contenido es "<div class="contenido">" hay que cambiarlo a "<div class=contenedor">"


Aquí dejo el código.
Código:
<script type="text/javascript">

function ajaxFunction() {

  var xmlHttp;

  

  try {

   

    xmlHttp=new XMLHttpRequest();

    return xmlHttp;

  } catch (e) {

    

    try {

      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

      return xmlHttp;

    } catch (e) {

      

	  try {

        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

        return xmlHttp;

      } catch (e) {

        alert("Tu navegador no soporta AJAX!");

        return false;

      }}}

}









function Enviar(_pagina,capa) {

    var ajax;

    ajax = ajaxFunction();

    ajax.open("POST", _pagina, true);

    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



    ajax.onreadystatechange = function() {

		if (ajax.readyState==1){

			document.getElementById(capa).innerHTML = " Cargando,espere por favor...";

			     }

		if (ajax.readyState == 4) {

		   

                document.getElementById(capa).innerHTML=ajax.responseText; 

		     }}

			 

	ajax.send(null);

} 







</script>
Y repido.Gracias por tu ayuda.
  #20 (permalink)  
Antiguo 10/07/2010, 15:51
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por Tew Ver Mensaje
Pero a ver, yo sigo sin entender que problema hay con que se cargue o no el mismo menu que se esta mostrando. Si cuando acabe de cargar la pagina vas a ver lo mismo: el menu.

Explica la situacion para que la entendamos, plis.
Cita:
Iniciado por XLogus Ver Mensaje
Te pasé 2 links que hacen eso, también puedes usar la ayuda de jquery docs.jquery.com

Y finalmente puedes usar un plugin que hace eso de forma automática en:
[url]http://garage.pimentech.net/scripts_doc_jquery_jframe/[/url]
Hola.
Gracias por tu ayuda en este tema, perdon por tardar tanto en contestar, pero habia perdido la contraseña y tengo la cuenta registrada en mi mail viejo.
Al final conseguí lo que quería.
Por si a alguien le sirve lo posteo aquí.



Este script se debe poner en el <head> de la página y cambiar el nombre del div del contenido a "contenedor" es decr, si el div de tu contenido es "<div class="contenido">" hay que cambiarlo a "<div class=contenedor">"


Aquí dejo el código.
Código:
<script type="text/javascript">

function ajaxFunction() {

  var xmlHttp;

  

  try {

   

    xmlHttp=new XMLHttpRequest();

    return xmlHttp;

  } catch (e) {

    

    try {

      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

      return xmlHttp;

    } catch (e) {

      

	  try {

        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

        return xmlHttp;

      } catch (e) {

        alert("Tu navegador no soporta AJAX!");

        return false;

      }}}

}









function Enviar(_pagina,capa) {

    var ajax;

    ajax = ajaxFunction();

    ajax.open("POST", _pagina, true);

    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



    ajax.onreadystatechange = function() {

		if (ajax.readyState==1){

			document.getElementById(capa).innerHTML = " Cargando,espere por favor...";

			     }

		if (ajax.readyState == 4) {

		   

                document.getElementById(capa).innerHTML=ajax.responseText; 

		     }}

			 

	ajax.send(null);

} 







</script>
Y repido.Gracias por tu ayuda.
  #21 (permalink)  
Antiguo 10/07/2010, 15:52
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por T_O_N_N_Y Ver Mensaje
Nop, con php SOLO no se puede hacer.

Un saludo.
Cita:
Iniciado por XLogus Ver Mensaje
Te pasé 2 links que hacen eso, también puedes usar la ayuda de jquery docs.jquery.com

Y finalmente puedes usar un plugin que hace eso de forma automática en:
[url]http://garage.pimentech.net/scripts_doc_jquery_jframe/[/url]
Hola.
Gracias por tu ayuda en este tema, perdon por tardar tanto en contestar, pero habia perdido la contraseña y tengo la cuenta registrada en mi mail viejo.
Al final conseguí lo que quería.
Por si a alguien le sirve lo posteo aquí.



Este script se debe poner en el <head> de la página y cambiar el nombre del div del contenido a "contenedor" es decr, si el div de tu contenido es "<div class="contenido">" hay que cambiarlo a "<div class=contenedor">"


Aquí dejo el código.
Código:
<script type="text/javascript">

function ajaxFunction() {

  var xmlHttp;

  

  try {

   

    xmlHttp=new XMLHttpRequest();

    return xmlHttp;

  } catch (e) {

    

    try {

      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

      return xmlHttp;

    } catch (e) {

      

	  try {

        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

        return xmlHttp;

      } catch (e) {

        alert("Tu navegador no soporta AJAX!");

        return false;

      }}}

}









function Enviar(_pagina,capa) {

    var ajax;

    ajax = ajaxFunction();

    ajax.open("POST", _pagina, true);

    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



    ajax.onreadystatechange = function() {

		if (ajax.readyState==1){

			document.getElementById(capa).innerHTML = " Cargando,espere por favor...";

			     }

		if (ajax.readyState == 4) {

		   

                document.getElementById(capa).innerHTML=ajax.responseText; 

		     }}

			 

	ajax.send(null);

} 







</script>
Y repido.Gracias por tu ayuda.
  #22 (permalink)  
Antiguo 10/07/2010, 15:53
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Recargar parte de web?

Cita:
Iniciado por RatonesPelones Ver Mensaje
creo (voy a partir de un supuesto unicamente) que en tu web no estás considerando el uso de iframes y eso te ayudaría bastante para hacer lo que tu quieres...
Cita:
Iniciado por XLogus Ver Mensaje
Te pasé 2 links que hacen eso, también puedes usar la ayuda de jquery docs.jquery.com

Y finalmente puedes usar un plugin que hace eso de forma automática en:
[url]http://garage.pimentech.net/scripts_doc_jquery_jframe/[/url]
Hola.
Gracias por tu ayuda en este tema, perdon por tardar tanto en contestar, pero habia perdido la contraseña y tengo la cuenta registrada en mi mail viejo.
Al final conseguí lo que quería.
Por si a alguien le sirve lo posteo aquí.



Este script se debe poner en el <head> de la página y cambiar el nombre del div del contenido a "contenedor" es decr, si el div de tu contenido es "<div class="contenido">" hay que cambiarlo a "<div class=contenedor">"


Aquí dejo el código.
Código:
<script type="text/javascript">

function ajaxFunction() {

  var xmlHttp;

  

  try {

   

    xmlHttp=new XMLHttpRequest();

    return xmlHttp;

  } catch (e) {

    

    try {

      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

      return xmlHttp;

    } catch (e) {

      

	  try {

        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

        return xmlHttp;

      } catch (e) {

        alert("Tu navegador no soporta AJAX!");

        return false;

      }}}

}









function Enviar(_pagina,capa) {

    var ajax;

    ajax = ajaxFunction();

    ajax.open("POST", _pagina, true);

    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



    ajax.onreadystatechange = function() {

		if (ajax.readyState==1){

			document.getElementById(capa).innerHTML = " Cargando,espere por favor...";

			     }

		if (ajax.readyState == 4) {

		   

                document.getElementById(capa).innerHTML=ajax.responseText; 

		     }}

			 

	ajax.send(null);

} 







</script>
Y repido.Gracias por tu ayuda.

Etiquetas: recargar
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 00:11.