Foros del Web » Programando para Internet » Javascript »

saber cuando un usuario copia texto

Estas en el tema de saber cuando un usuario copia texto en el foro de Javascript en Foros del Web. Buenas! Quisiera saber cuándo un usuario está copiando cierto contenido de mi web. Lo necesito para poder "arreglar" ciertos links que pueda copiar el usuairo, ...
  #1 (permalink)  
Antiguo 10/08/2012, 01:17
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
saber cuando un usuario copia texto

Buenas!
Quisiera saber cuándo un usuario está copiando cierto contenido de mi web. Lo necesito para poder "arreglar" ciertos links que pueda copiar el usuairo, ya que, por temas de privacidad, una misma página tiene rutas diferentes para usuarios diferentes (incluso para el mismo usuario en sesiones diferentes), es decir:

Suponiendo que yo esté en la mi web, viendo el elemento "ABC", yo vería, por ejemplo:

miweb(.)com/elementos.php?miElemento=23

Mientras que otro usuario vería

miweb(.)com/elementos.php?miElemento=154

Para arreglar esto, tengo una función que recibe un parámetro y redirecciona hacia el elemento correcto. Es por eso que quiero saber cuándo alguien copia algo de la web, para poder comprobar si son elementos, y entonces ponerle en el cortapapeles una dirección diferente, para que pueda mandar el link a otras personas sin problemas.

Espero haberme explicado bien

Saludos
  #2 (permalink)  
Antiguo 10/08/2012, 08:06
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: saber cuando un usuario copia texto

¿Probaste ya con el evento?

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

https://developer.mozilla.org/en-US/...element.oncopy

http://javascript.gakaa.com/oncopy-description.aspx
  #3 (permalink)  
Antiguo 13/08/2012, 00:59
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: saber cuando un usuario copia texto

en serio??? estuve buscando como media hora algo así y no encontré nada...

Gracias!
  #4 (permalink)  
Antiguo 13/08/2012, 07:58
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: saber cuando un usuario copia texto

Como no se entiende tu descripción del caso (está más cerca del planteo inconexo de un cliente, que al de un desarrollador a una comunidad de colegas), vas a tener que empezar desde el principio. El evento que se dispara en la copia es un comienzo (otro es capturar la cadena en la selección), pero leyendo el último pedido (que no tiene que ver con lo anterior y podía estar aparte) se puede adivinar que quieres un escript que sobreescriba el contenido hacia o en el portapapeles, con un texto que dependa de alguna variable.

En tu último mensaje rescato la idea de "buscar algo así". ¿Debo entender que quieres algo a medida para copiar y pegar en tu página? Si existe, media hora es poco, a menos que tengas mucha suerte. ¿Seguro no estás buscando ejemplos para estudiar y crear tu escript? Es lo que se supone deberías.

Copiar con rastro

Que automáticamente aparezca la URL o "Fuente" al copiar contenido
  #5 (permalink)  
Antiguo 13/08/2012, 13:08
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: saber cuando un usuario copia texto

Supongo que debo ser nefasto explicando cosas, ya que siempre que posteo algo la gente me dice que no entiende...

La cosa es sencilla. Imagina una web. Dentro de esta web hay una página llamada "miPagina.php". Esta "miPagina.php" recibe un parámetro get, llamémosolo "elemento". Este "elemento" viene encriptado de manera simétrica, con un hash (md4, md5, sha1, aes...). El "problema" es que es un hash granulado. Este granulado varia de cada sesión.

¿Qué significa eso?

Sencillo: si tu quisieras entrar en miweb/mipagina.php?elemento=1, realmente te mandaría a miweb/mipagina.php?elemento=(hash+granulado), de manera que dos personas conectadas a mipagina.php, viendo el mismo elemento tendrán diferente parámetro GET.

Luego, con php ya me las apaño para buscar el elemento, eso no viene al caso.

Lo que pasa, es que si yo te envío el link que me sale a mi, tu no verás nada, porque el granulado depende de la sesión, y la sesión viene granulada también, y entonces no se podría saber a qué elemento hacía yo referencia cuando te pasé el link.

Entonces, lo que quiero es saber cómo (no quiero ejemplos, es más, no me gustan que me den una "solución mágica", solo necesito saber cómo empezar, ya que no lo he encontrado por ninguna parte) puedo tratar el evento, handler o lo-que-sea que pueda usar para saber cuándo un usuario está haciendo un "copiar", para simplemente tratar el los enlaces que puede que esté seleccionando.

Esto lo busco porque creo que poner un botón de "copia esto al portapapeles" es algo bastante burdo y aumentaría el golf de ejecución de la web.

Espero que así sí se entienda, que cuando intento explicar las cosas con ejemplos "mundanos" nadie me entiende... no creo que sea tan difícil.

Para que esté más claro:

sha1(11) = 17ba0791499db908433b80f37c5fbc89b870084b

si yo granulo el hash, añadiendo, por ejemplo un número de sesión aleatorio (suponiendo que tengo la sesión 11):

sha(1111) = 011c945f30ce2cbafc452f39840f025693339c42

si te lo envío a tí (digamos que tienes la sesión 22), tu el elemento lo verías como

sha(1122) = 00fd4b4549a1094aae926ef62e9dbd3cdcc2e456

pero recibes mi hash, por lo que no puedes ver lo que te mando.

Tengo una función intermedia que arregla esto, pero para ello tengo que cambiar el link que copia el usuario. Solo eso.
  #6 (permalink)  
Antiguo 13/08/2012, 14:47
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: saber cuando un usuario copia texto

Cita:
Iniciado por DoHITB
Supongo que debo ser nefasto explicando cosas, ya que siempre que posteo algo la gente me dice que no entiende...
Sí. Debe ser eso.

Si las modificaciones a las cadenas no están en la página, lo más cerca de javascript que te pueda servir es AJAX.
  #7 (permalink)  
Antiguo 13/08/2012, 20:07
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: saber cuando un usuario copia texto

Mira, me estoy poniendo viejo, y ablandado.

Te tomaste tu trabajo para escribir esa parrafada, así que al final me dio un poco de culpa largarte así.

No tengo idea de qué lógica usas para elegir la parte que le corresponde a cada uno, pero como no hay manera de saber a quién le van a mandar el link (lo único seguro es que será alguien que también está registrado en la misma comunidad) entonces con AJAX tampoco le vas a poder traer el valor. Porque no sabes cuál pedirle (a menos que le digas en el pedido "es para Fulano", y después lo copies).

Si cada uno tiene su propio identificador, y el código del elemento a ver es el mismo, lo que deberías es reemplazar la parte que le corresponde al que copia (su propio identificador) por un comodín al momento de seleccionar para copiar.

Y que mande ese link.

Ahora sí, cuando alguien pida el recurso con ese link, en el server tu programa va a ver el comodín, y lo va a reemplazar por el identificador del que lo pide, que ya se tuvo que haber logueado.

Por supuesto que todo esto puede ser mucho más complejo, pero como yo no entiendo nada de lenguaje de servidores, ya no te puedo aconsejar más nada.
  #8 (permalink)  
Antiguo 14/08/2012, 01:10
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: saber cuando un usuario copia texto

Bien, has logrado comprender lo que necesito.
Ese "comodín" que tu dices es la causa por la que necesito modificar el contenido del portapapeles.
  #9 (permalink)  
Antiguo 14/08/2012, 06:52
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: saber cuando un usuario copia texto

Comprender, adivinar ...
Los enlaces que te dejé en el primer post te sirven para saber qué va a "mandar" el que copia, los del segundo ya te dan ejemplos hechos. Todo en el lado cliente.

El comodín ni siquiera es necesario (puede ser un vacío), pero como supongo debe haber un algoritmo que "decide" cuál es el valor que le corresponde a cada usuario con su elemento a ver, seguramente algo vas a tener que pasarle al server para que sepa quién veía qué originalmente, y haga la corrección para el nuevo usuario. Por lo general va encriptado o al menos codificado, tampoco creo que la seguridad sea crítica; todo esto será para mantener un control sobre quién usa los recursos o artículos de un sitio.
  #10 (permalink)  
Antiguo 20/08/2012, 00:22
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: saber cuando un usuario copia texto

Ya está.

Era tan sencillo como usar el onCopy. Lástima que luego tenga que usar actionScript para manejar el portapaeles.

Creo que te centraste demasiado en el contexto y demasiado poco en el problema en sí. Es un defecto que creo deberías mirarte.

Gracias igualmente
  #11 (permalink)  
Antiguo 23/09/2012, 13:20
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: saber cuando un usuario copia texto



¡Qué bueno que a este Foro venga gente con sentido del humor!
De nada.

Etiquetas: copia, php, usuarios
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 13:36.