javascript - propiedades - webview android studio 2018
Android WebView loadUrl JavaScript no funciona API<= 18(pero funciona en API>=19) (2)
PREGUNTA:
¿Qué debo hacer para que webView.loadUrl (javaScript) funcione en API 18 o inferior (en comparación con API 19 o superior)?
DESCRIPCIÓN DEL PROBLEMA:
Estoy usando WebView para hacer un chat.
- Primero, cargué el HTML de esta manera: webView.loadUrl (url);
- Luego utilizo loadUrl nuevamente para enviar el mensaje de chat como sigue : webView.loadUrl (javaScript);
Esto funciona perfectamente bien en API> = 19, pero no funciona en API <= 18.
Los mensajes de chat aún se reciben de otros dispositivos, pero los otros dispositivos no reciben un solo mensaje del dispositivo con API 18 o inferior. Se usa exactamente el mismo código.
He buscado mucho y continuaré buscando. Si tiene la respuesta, cualquier idea que pueda probar o podría redirigirme a información relevante, sírvase compartirla. Gracias de antemano.
EDITAR:
La etiqueta de JavaScript en la cadena se establece en minúsculas (con el mismo problema): webView.loadUrl ("javascript:" + javaScriptFunction);
No puedo estar seguro de que esto sea lo que está causando tu problema, pero intenta usar
webView.loadUrl("javascript:" + theJavaScriptCode);
con "javascript:"
minúsculas.
La API 19+ no se preocupa por el caso del protocolo JavaScript en loadUrl
(aunque puede usar evaluateJavascript()
lugar en API 19+), pero API 18 y down no lo reconoce a menos que esté escrito en minúsculas.
SOLUCIÓN
Encontré el problema que era que el parámetro del mensaje (codificado) enviado en la función de JavaScript tenía un salto de línea [ / n ] en él. Quitando eso usando la función de división msg.split ("/ n"); lo hizo funcionar.