2009-07-29 15 views
17

Me encontré con un sitio que inyecta una línea "Leer más:" al final de cualquier texto que resalte y copie de sus páginas.Inyectando texto cuando se copia contenido de una página web

Nunca he visto esto antes, y sin profundizar en su código, no puedo encontrar el código que hace esto.

¿Alguien sabe cómo se hace esto?

Ejemplo: http://peaceful-parenting.suite101.com/article.cfm/how_to_keep_kids_from_climbing_on

Copiar un párrafo de texto y pegarlo en otra aplicación, y habrá una línea de "leer más" después.

+1

Simplemente no hagas esto, por favor no lo hagas. – couchand

Respuesta

37

Suite101 está utilizando un servicio de terceros llamado Tynt.

fragmento de código JavaScript de Tynt está situado en http://tcr.tynt.com/javascripts/Tracer.js

exploré la fuente para usted (con la ayuda de la Online JavaScript beautifier).

Así que aquí es lo que está pasando:

  • el código activa en eventos como mouseup, mousedown, y copiar (en la función startListeningForTraces)
  • si el usuario ha seleccionado un rango de texto, entonces:
    • crea el código HTML para un enlace de atribución, además URL licencia CC opcional
    • anexa este código HTML para la selección, la coloque en un tamaño cero <div> (para mantenerlo en su visibles en la pantalla)
    • informa de lo que se copia de nuevo a los servidores de Tynt

código de Tynt tiene una enorme cantidad de trabajo para que esto funcione a la perfección en todos los navegadores.

+1

Gracias por su análisis. ¡Qué genial código! – Josh

3

Parece que es tynt.com, que es una especie de rastreador de texto copiado de su página.

Desde el sitio tynt.com

trazador añade automáticamente un enlace de vuelta a su sitio cuando el contenido es copiado y pegado. Leer más: http://tracer.tynt.com/features-and-benefits-of-tracer#ixzz0MgaE6z6y Bajo Licencia Creative Commons: Reconocimiento-SinObraDerivada

de Heck ... que se agregó el enlace Más información y el material licencia CC al texto he copiado desde el sitio tynt.com.

Cuestiones relacionadas