WebKit / WebView toque / onclick resaltado por defecto (Android Ice Cream Sandwich)

Estoy desarrollando una aplicación webview (4.0.3) y hay una cosa molesta acerca de la webview de sándwich de helado: cada vez que hay un evento tap / on click en un enlace o cualquier elemento clicable hay un azul (creo que es dependiente del dispositivo ) Resaltar aparece. No se ve muy bien porque tengo mis propias acciones de grifo agregadas a los elementos. No parece que el más reciente jQueryMobile (1.1.1) maneje el problema muy bien. En la versión anterior, todos los principales estilos de webkit han sido anulados.

Si alguien tiene alguna idea de cómo deshacerse de la molesta destacar será muy apreciado.

Saludos, qmacpit


Por supuesto que he intentado cambiar antes de preguntar:

-webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-focus-ring-color: rgba(0, 0, 0, 0);

Pero no funciona en el caso de Ice Cream Sandwich. Esta solución funcionó en Android 2.3 donde tenemos un infame 'borde naranja' al hacer clic en el enlace. Parece que es una parte / configuración de un WebView. Tienes el mismo comportamiento navegando páginas en el navegador nativo. Es realmente molesto porque se refiere no sólo a los enlaces, sino también a los botones y otros elementos html.

Además, aún no está resuelto por jQuery Mobile teem, aunque afecta a los gráficos de manera bastante significativa. O bien no lo han visto aún o todavía están trabajando en una solución.

¿Cualquier otra sugerencia?

Me encontré con el mismo problema (android siempre estaba destacando un elemento svg incluso con el CSS sugerido anteriormente). Honestamente no sé por qué no se aplicó la regla css (estoy 100% seguro de que no se anuló), pero encontré otra solución.

Parece que el resaltado se da sólo a los elementos para los que se establece un oyente onclick. Me enteré de que el establecimiento de un oyente onTouchStart en lugar de un oyente onClick realmente resuelto mi problema.

Lo probé en un Galaxy Nexus con JB 4.2. Por favor, no que la aplicación de la regla css en el ejemplo siguiente funciona como se esperaba.

 <!html> <html> <head> <title>Click/touch test</title> <script type="text/javascript"> function reset() { document.getElementById("A-test").innerHTML="On click listener"; document.getElementById("A-test2").innerHTML="On touchstart listener"; } window.onload = function() { document.getElementById("A-test").onclick = function () { this.innerHTML = "see the highlight" } document.getElementById("A-test2").ontouchstart = function () { this.innerHTML = "no highlight here" } } </script> </head> <body> <div id="A-test">On click listener</div> <div style="height: 60px"></div> <div id="A-test2">On touchstart listener</div> </body> </html> 

Aquí está el jsfiddle http://jsfiddle.net/aQ9zM/2/

Finalmente encontré la respuesta:] es una característica de webview que se puede inhabilitar llamando

 setLightTouchEnabled(false) 

Esto debería desaparecer si configura las propiedades css en los elementos:

 -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-focus-ring-color: rgba(0, 0, 0, 0); 

Establezca la siguiente propiedad css: -webkit-tap-highlight-color: rgba (0,0,0,0); Esto no causará el problema con los cuadros de entrada. Pero en este caso necesitarás tener acceso al código HTML que estás ejecutando (aunque puedes inyectarlo al HTML de todos modos).

  • Android Webview Error desconocido
  • Agregar botón de actualización a la página de error - Webview
  • La concurrencia de webview de Android causó SQLiteException: la base de datos está bloqueada
  • problema de base de datos de acceso a HTML5 WebView HTML
  • Viewport ajusta el ancho de la pantalla y las grandes imágenes
  • Cómo enviar texto a través de formularios mediante JSoup
  • ¿Cómo anular algunos eventos de gestos en una webview, pero dejar que otros a través de?
  • Escáner de código de barras ZXing para Webapps
  • Uncaught ReferenceError, Llamando función javascript a través de la aplicación android ..?
  • Appcache en Android Webview no descargar fuentes
  • HTML localStorage es nulo en Android cuando se usa webview
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.