2011-04-06 27 views
7

¿Hay alguna forma de desencadenar un pegado en jQuery?jQuery: desencadenar pegar?

O tal vez una pregunta más amplia: ¿hay alguna forma de navegador cruzado para desencadenar un pegado con Javascript en absoluto?

+3

¿le gustaría que cualquier sitio recopile datos desde su portapapeles? – fazo

+1

@fazo - "¿quieres?" No es una respuesta justa a este tipo de preguntas. Todos los tipos de comportamientos terribles han sido técnicamente posibles con HTML, JS y el DOM en un momento u otro (y no se han parchado rápidamente). Los principales navegadores solo han bloqueado este recientemente, por ejemplo: http://stackoverflow.com/questions/2394890/css-javascript-hacking-detect-visited-styling-on-a-link-without-checking-it-d. Por supuesto, en este caso, la respuesta es "no, técnicamente no es posible", pero eso está separado de la pregunta de si es una buena práctica. –

+0

@Ben tiene razón, pero lo que yo quería decir era '¿espera que su navegador proporcione datos potencialmente confidenciales para que los reúna el servidor web'? y desafortunadamente las personas están en riesgo con ie y flash – fazo

Respuesta

8

Obtener datos del portapapeles del usuario es un riesgo de seguridad bastante grande (para el usuario). Zero Clipboard te llevará una parte del camino hasta allí (requiere Flash), aunque solo te permitirá imitar y pegar usando lo que has copiado utilizando su biblioteca.

http://code.google.com/p/zeroclipboard/

Usted no encontrará un cross-browser JavaScript o jQuery única solución, sin embargo.

+0

"Sin embargo, no encontrarás una solución de JavaScript entre varios navegadores o jQuery". Por una buena razón, como se mencionó, este es un GRAN problema de seguridad y como usuario lo odio. Como desarrollador, me doy cuenta de que los usuarios lo odian, por lo tanto, no lo hago. – Alex

+0

Lamentablemente, hay situaciones en las que los clientes de usabilidad solicitarán dicho comportamiento. Supongamos que tiene un campo dividido en 3 entradas (por ejemplo, un número de teléfono) y alguien quiere poder simplemente pegar el número de teléfono completo en los campos. ¿Cómo lo harías tú? Bueno, podrías adjuntar al evento pegar en la primera entrada (usando jquery) pero eso solo funcionaría si no limitaras la entrada del primer campo, pero luego sacrificaras tus restricciones de campo por el bien de la funcionalidad adicional. Lamentablemente, tuve que implementar algunas soluciones importantes para solucionar este problema. – Merritt

-1

No se puede desencadenar un corte, copiar o pegar programáticamente en JavaScript y aún mantener el soporte de navegador cruzado. Estas acciones solo pueden venir del usuario.

+4

Esto ya no es relevante, se han implementado Cortar y Copiar en todos los navegadores de hoja perenne. – PseudoNinja

Cuestiones relacionadas