Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Activar elemento en otro documento html

Estas en el tema de Activar elemento en otro documento html en el foro de Javascript en Foros del Web. Hola compañeros. Quisiera saber si es posible hacer lo que necesito, seré breve para no marear mucho y lo explicaré en pocas palabras. 1- Tengo ...
  #1 (permalink)  
Antiguo 15/10/2011, 03:24
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 14 años, 3 meses
Puntos: 1
Activar elemento en otro documento html

Hola compañeros.

Quisiera saber si es posible hacer lo que necesito, seré breve para no marear mucho y lo explicaré en pocas palabras.

1- Tengo una página web (A.html) que tiene por defecto un botón desactivado.

2- Al visitar otra página distinta (B.html) el botón desactivado de A.html tiene que activarse y eso es todo.

Más detallado ...

La página A.html tiene productos descargables a la venta y el botón "Descargar Productos" desactivado por defecto hasta tanto no se haga el pago, luego se tiene que activar para poder descargar los productos.

La página B.html es la página de agradecimiento que se presenta después de hacer el pago y aquí es donde se debe activar el botón de A.html.

En esta página hay un link que te envía de nuevo a la página A.html donde el botón "Descargar Productos" (ya activado) genera la página de descarga con todos sus links, esta página es generada AL VUELO con javascript.

Podría hacerlo por el método tradicional pero tengo más de 600 referencias y son lotes de cantidades distintas de productos que no podría controlar ya que habrían miles de combinaciones.

Sólo me falta poder activar el botón que está el la página A.html desde la página B.html y estaría todo solucionado.

¿Sería posible hacer esto?, si conocéis alguna forma os lo agradecería mucho.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 15/10/2011, 05:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Activar elemento en otro documento html

Hola silo.

No es conveniente que lo hagas con Javascript, es mejor que lo hagas desde el servidor manejando sesiones. Además, debes tener en cuenta que si la URL de descarga es abierta (sin validación), simplemente conociendo esa dirección se puede descargar sin pasar por las demás páginas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 15/10/2011, 12:48
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Activar elemento en otro documento html

Hola David, muchas gracias por responder.

Muy bueno el consejo que me das y se que tienes toda la razón, pero me ha llevado meses poder llegar a configurar estos códigos tomando como referencia los scripts de SimpleCard hasta llegar a entenderlos y creo que sobre la seguridad el único fallo sería tener que mostrar el link a la hora de descargarlo (creo que para eso no hay solución) si lo hubiera se podría hacer por el servidor y no tendría que montar todo este lío.

He probado en php pero tengo serios problemas para poder configurar esos códigos, por más tutoriales que he leído no he logrado sacar resultados, si tú me lo permites te envío un mp con parte del código para que lo veas cómo funciona y te explicaría algunas cosas más sobre la seguridad de éste.

Ya tengo el patrón de la configuración que necesito para este script pero si lo mejor es del lado del servidor trataré de empollar en php (por décima vez) y a ver si saco algo en claro.

Saludos y nuevamente gracias.
  #4 (permalink)  
Antiguo 16/10/2011, 02:41
Avatar de andres_aquino  
Fecha de Ingreso: septiembre-2010
Ubicación: $("#place").html("FDW");
Mensajes: 138
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: Activar elemento en otro documento html

Como bien lo ha dicho @David, la única forma sería trabajarlo del lado servidor. Podrías combinar un poco de Ajax con PHP para poder quitar algo bueno y te funcione el sistema de descarga de productos de B.html a A.html como has dicho.

Sería cuestión de hacer que un archivo php guarde mediante sesión, una bandera para saber si está o no habilitada la descarga (para activar el botón de descarga) y una URL temporal que sirva por unos 5 minutos, por ejemplo. Entonces, para poder activar esa bandera, nada más sería mandar una consulta mediante ajax al archivo php para que devuelva la bandera activada (true, por ejemplo) y la url temporal para luego, mediante javascript, activar el botón y setear el link a la url temporal.

Eso es lo que tengo pensado, tal vez sea como dicen "fácil decirlo, difícil hacerlo" pero puede funcionarte sin muchas complicaciones, bueno, eso creo.

De todos modos, espero que pueda servirte esta idea que tengo o bien puedas dar con alguna solución eficaz a tu problema.

Saludos!
__________________
Te sirvió mi ayuda? +1 ;D
Andy Aquino - @aquiandres
  #5 (permalink)  
Antiguo 16/10/2011, 10:43
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Activar elemento en otro documento html

Ya lo había pensado pero ¿qué pasaría si hay una persona comprando y la bandera (booleano) está en true? supongo que la página se abriría directamente con el botón de descarga activado y sería cuestión de llegar a tiempo para encontrárselo funcionando ¿no?, en ese caso no tendría seguridad ninguna ¿verdad?.

Saludos y gracias por la idea.
  #6 (permalink)  
Antiguo 16/10/2011, 11:47
laventanadewindows
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Activar elemento en otro documento html

No deberia abrirse más qe para la persona que pagó y está logueada, ya que guardas la variable en una base de datos no?
  #7 (permalink)  
Antiguo 16/10/2011, 23:57
Avatar de andres_aquino  
Fecha de Ingreso: septiembre-2010
Ubicación: $("#place").html("FDW");
Mensajes: 138
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: Activar elemento en otro documento html

Primero que nada, disculpas por el retraso en responder

Cita:
Iniciado por silo Ver Mensaje
Ya lo había pensado pero ¿qué pasaría si hay una persona comprando y la bandera (booleano) está en true? supongo que la página se abriría directamente con el botón de descarga activado y sería cuestión de llegar a tiempo para encontrárselo funcionando ¿no?, en ese caso no tendría seguridad ninguna ¿verdad?.

Saludos y gracias por la idea.
Para esto puedes usar un chequeo mediante sesión o por base de datos. Recuerda que la variable booleana siempre deberás ponerla en 'false' y una vez cumplidos los pasos, lo pones a 'true' para el usuario que está identificado mediante la sesión que ha sido inicalizado para éste. Además, tras haber pasado los 5 minutos tendrás que expirar los datos de la sesión y de la BD para evitar que siga abierta y tenerlo bajo seguridad.

Si quieres agregar más seguridad, podrías atrapar la IP del usuario y guardarlo en tu dato de sesión para que sirva sola y únicamente con el usuario que está realizando el proceso de compra, y también puedes añadir cookies si te es necesario. Sea como fuese que hagas esto, deberás encriptar mediante la función md5() de php para que tus datos sean más seguros; eso si, tendrás que hacer algo como los hash md5 de joomla (por ejemplo) que hace uso de algunos trucos para que no sea posible la detección del hash md5. Aquí es cuestión de hacer usos de técnicas como generación de números o cadenas alfanuméricas aleatorias.

Saludos
__________________
Te sirvió mi ayuda? +1 ;D
Andy Aquino - @aquiandres
  #8 (permalink)  
Antiguo 17/10/2011, 02:13
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Activar elemento en otro documento html

Muchas gracias por vuestra colaboración que me ha aclarado mucho las ideas.

Por lo que veo tendré que dejar el javascript a un lado y empezarlo de nuevo con PHP utilizando una base de datos, cosa que hasta ahora no tenía en mente utilizar, la idea era crear un botón en PayPal con un precio fijo y cuando se vendiera el paquete de productos enviarlo al botón de PayPal, una vez allí abrir la página de agradecimiento (al vuelo con javascript) y con los enlaces generados para su descarga y listo, muy simple de utilizar, pero por lo visto quedan muchos cabos sueltos como habilitar el botón de la páigina de ventas y otra de enviar un correo con los datos de la venta ... que lástima, era perfecto.

Procuraré comenzar de nuevo con PHP y luego os cuento si ha salido como esperaba
  #9 (permalink)  
Antiguo 17/10/2011, 14:53
Avatar de andres_aquino  
Fecha de Ingreso: septiembre-2010
Ubicación: $("#place").html("FDW");
Mensajes: 138
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: Activar elemento en otro documento html

Oye @silo, entonces podrías solucionarlo fácilmente de esta manera sin complicarte mucho:

1- Se abre la ventana de agradecimiento y al mismo tiempo, colocando un setTimeout() desde javascript, haces que el botón de descarga se active a los 5 o 10 segundos.

2- El usuario obtiene el foco en la ventana de agradecimiento. Lo ve por unos pocos segundos y luego lo cierra esperando a que el botón de descarga esté habilitado para proceder a la descarga final.

De esta manera podrás usar solamente javascript sin tener que complicarte con un complejo sistema basado en php+mysql como ya te lo había comentando en los posts anteriores del hilo. Esto te lo recomiendo habiendo leído tu última respuesta.

Anda y prueba que puede llegar a funcionar esta solución, aun así, tienes dos opciones:

1) PHP, sesiones, Ajax y MySQL
2) JavaScript usando setTimeout()

Es cuestión de ver cuál se ajusta más a la tarea que vayas a realizar. Espero te sirva alguno.

Saludos!
__________________
Te sirvió mi ayuda? +1 ;D
Andy Aquino - @aquiandres
  #10 (permalink)  
Antiguo 13/11/2011, 14:36
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 14 años, 3 meses
Puntos: 1
Solucionado

Definitivamente me he decidido por PHP aunque tenga que aprender la programación desde Dreamweaver, he encontrado un tutorial muy detallado que ofrece un profesional en videos y he aprendido y comprendido mucho acerca de este lenguage http://blog.ayzweb.com/ y no me será difícil configurar mi carrito.

En realidad ya lo había podido hacer completo en javascript pero al estar del lado del cliente se podía ver perfectamente todos los enlaces que no deseo mostrar (los de descarga) así es que en PHP puedo evitar este problema.

Muchas gracias por vuestra valiosa ayuda y espero no dar mucho la tabarra
  #11 (permalink)  
Antiguo 14/11/2011, 14:19
Avatar de andres_aquino  
Fecha de Ingreso: septiembre-2010
Ubicación: $("#place").html("FDW");
Mensajes: 138
Antigüedad: 13 años, 7 meses
Puntos: 24
De acuerdo Respuesta: Activar elemento en otro documento html

Excelente, silo! Siempre se aprende algo nuevo cada día. Bien por ti que ya le vas agarrando la mano a todo esto; ya con el tiempo irás mejorando más y más tus habilidades. Fuerza con tus proyectos.

Un abrazo
__________________
Te sirvió mi ayuda? +1 ;D
Andy Aquino - @aquiandres
  #12 (permalink)  
Antiguo 15/11/2011, 02:10
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Activar elemento en otro documento html

Muchas gracias compañero y espero poder servir de ayuda alguna vez (aunque ahora estoy muy verde para poder ayudar a nadie)

Mil gracias por todo.

Etiquetas: html
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 16:20.