2010-12-01 50 views
5

Estoy tratando de implementar maxlength en un área de texto. En IE7, window.clipboardData.getData("Text") devuelve la cantidad correcta de caracteres copiados. en IE8, la misma llamada devuelve 0. ¿Qué pasa?window.clipboardData.getData ("Texto") devuelve 0 en IE8

aquí es el js

var someRule= { 
    "textarea" : function(element) { 
    element.onpaste = function() { 
     var copied = window.clipboardData.getData("Text"); 
     alert('copied length = '+copied.length); 
    } 
    } 
}; 

Behaviour.register(someRule); 

alt text

Respuesta

6

Hay una configuración de seguridad en Internet Explorer 8:

Para evitar que un sitio web de la lectura en el portapapeles, tome las siguientes medidas:

Ir a Herramientas-> Opciones de Internet. Haga clic en la pestaña Seguridad. Haga clic en "Nivel personalizado". Desplácese hasta la sección de Secuencia de comandos en Configuración. Establezca "Permitir operaciones de pegado mediante secuencia de comandos" en Desactivar o Preguntar. Presione los botones OK para cerrar los cuadros de diálogo.

En su caso, esta configuración probablemente esté deshabilitada.

+0

No tengo derechos para cambiar estas configuraciones :(. Pero no sabía eso, gracias por la sugerencia. ¿Alguna otra idea? – 08Hawkeye

+0

Estas instrucciones son cómo deshabilitar esta configuración de seguridad. Para que la secuencia de comandos acceda al portapapeles , la configuración debería estar habilitada. Si no tiene permiso para cambiar esta configuración, la secuencia de comandos no tendrá acceso al portapapeles. –

+0

He estado usando una máquina de prueba con una imagen base con IE8 (I estoy en IE7 hasta que 8 se envía a todo el mundo). Probé mi código en una máquina de desarrolladores compañeros y funcionó. Debe ser una configuración de Política de grupo o OU. ¡Gracias! – 08Hawkeye