javascript - startups - ux readers
¿Cómo agrega Financial Times un descargo de responsabilidad al pegar texto? (5)
Implementa un controlador para el evento oncopy
. Al manipular el objeto clipboardData
, puede cambiar el texto copiado.
Aquí hay un ejemplo de lo que sucede al pegar texto de Financial Times, se agrega el párrafo superior.
¡Gracias por adelantado!
Ejemplo:
Respete las políticas de ts & cs y copyright de FT.com que le permiten: compartir enlaces; copiar contenido para> uso personal; y redistribuir extractos limitados. Envíe un correo electrónico a [email protected] para comprar derechos adicionales> o utilice este enlace para consultar el artículo - http://www.ft.com/cms/s/0/792f1aec- > 9600-11e0-8256-00144feab49a.html # ixzz1PFrYZiD0
Goldman Sachs dio una pasantía remunerada a un pariente del funcionario libio superior mientras el banco llevaba a cabo operaciones de pérdida en nombre del fondo soberano de riqueza del país, según ha podido saber Financial Times.
Como ya se mencionó anteriormente, la modificación de los datos del portapapeles está restringida a navegadores específicos o requiere que el usuario otorgue acceso para modificar el portapapeles. Un trabajo alrededor de esto podrías
- Agregar un controlador de eventos al evento
oncopy
- Encuentra la selección
- Anteponer / agregar contenido al contenido
- Modificar el rango de selección para incluir el contenido adjunto / precedente
- Espere a que la acción de copia avance
- Eliminar el contenido adjunto / precedente
Jugueteé con este método y creé un plugin que hace exactamente eso. Todavía es una versión preliminar y solo ha sido probado en FF4 / Chrome 11 / IE8 hasta el momento (e IE definitivamente necesita más trabajo). Algunas de las cosas buenas que puede hacer con este método es que fácilmente podría, por ejemplo, incluir citas de foro en [quote=USER]content[/quote]
y asignarle al usuario según la publicación que se copie. Por defecto, el script siempre selecciona el estilo del DOM, pero no el HTML real, así que si, por ejemplo, copia contenido en negrita , sería negrita si se pega en un editor de texto enriquecido, pero solo texto si se usa en editores de solo texto (eliminando el etiquetas html).
El contenido previo al envío es mucho más fácil con este método, en comparación con el agregado, en cuyo caso aún no estoy seguro de si es completamente funcional. Para IE, puede modificar directamente el portapapeles, pero hay algunos problemas, por ejemplo, al seleccionar toda la página o si desea alternar el contenido de la copia enriquecida. No he tenido la oportunidad de hacer más pruebas de navegación, pero esta parece ser al menos una solución funcional para los navegadores más nuevos.
Ejemplo: http://hertzen.com/experiments/jquery.plugin.clipboard/
Otro ejemplo: http://hertzen.com/experiments/jquery.plugin.clipboard/thread.html
Código fuente: https://github.com/niklasvh/jquery.plugin.clipboard
Webmaster usa Javascript para eso.
Compruebe el archivo http://media.ft.com/j/FTTrack2.js
FT.Tynt={
initTynt:function(){
var Tynt=Tynt||[];
Tynt.push(''cqolxGrS4r34rIadbiUt4I'');
Tynt.i={
"cc":"0",
"b":true,
"ap":"Please respect FT.com''s <a href=''http://www.ft.com/servicestools/help/terms''>ts&cs</a> and <a href=''http://www.ft.com/servicestools/help/copyright''>copyright policy</a> which allow you to: share links; copy content for personal use; & redistribute limited extracts. Email [email protected] to buy additional rights or use this link to reference the article -",
"t":true
}
Esto es algo que puede lograr a través de un plugin jQuery llamado jquery copy . Aquí hay un ejemplo usando el selector p.
$("p").click(function() {
$.copy($(this).text() + " Disclaimer goes here!");
});
Usan JavaScript que se puede encontrar en el siguiente archivo: