2010-09-22 12 views
5

Es posible agregar una interfaz JavaScript al navegador Android de la misma forma en que se puede agregar al componente WebView como illustrated in this demo. Mi caso de uso particular solo necesita JavaScript -> android para poder enviarlo a la actividad anterior.Adición de la interfaz JavaScript a un navegador

+0

Sólo por curiosidad, ¿por qué no usar el código del proyecto de código abierto que ha apuntado a? ¿No está ahí lo que estás buscando? No estoy seguro de lo que quiere decir con JS Interface, ¿puede explicarme qué hace? –

+0

Necesito la integración más ajustada del navegador sobre un WebView. Necesito hacer clic en un botón de una página web y activar la vuelta a la Actividad anterior (que inició el navegador) –

+1

Creo que eso no es posible ... ¿no crees que será peligroso? Quiero decir, permitir ese tipo de cosas sería un GRAN problema de seguridad. – Cristian

Respuesta

9

Puede invocar métodos y funciones en su vista web utilizando javascript url, p. Ej.

webview.loadUrl("javascript:somemethod()"); 

Usted, por supuesto, necesita habilitar Javascript en su vista web:

webview.getSettings().setJavaScriptEnabled(true); 

Se trata de Java a JavaScript. Si desea invocar código Java/API de Android desde JavaScript, utilice addJavascriptInterface()

webview.addJavascriptInterface(new MyJSJavaBridge(), "api"); 

Todo esto se muestra en el ejemplo url informados también.

+0

seguro, en WebView describió los mismos pasos que en el WebViewDemo al que me he vinculado en la pregunta, pero ¿qué ocurre con el navegador? –

+0

@vo van der Wijk tengo una pregunta sobre este código - 'webview.loadUrl (" javascript: somemethod() ");' porque en mi aplicación no funciona = ( así que puedes explicar qué está mal con mi código que no funciona - 'webview.loadUrl (" javascript: document.getElementById ('pass_id'). value = '"+ CLIENT_PWD +"') ");' – vladimir

Cuestiones relacionadas