2011-05-31 4 views
0

Est-ce que quelqu'un sait un moyen de détecter si un bouton avec ce code, ci-dessous, dans la source de la page Web est enfoncé dans mon webview applications?détecter le bouton javascript appuyer sur webview?

source HTML de bouton:

<input id="testBtn" name="testBtn" type="button" value="Test Button" 
class="button" onclick="test.run(this.id,'onclick');return false;" 
onkeydown="test.run(this.id,'onkeydown');return false;" title="Test Button"> 

puis un toast?

P.s. Je ne peux pas changer le code html n'est pas mon site

Répondre

0

qui sera facile simplement définir votre Javascript Interface

final class jocJavaScriptInterface { 
    jocJavaScriptInterface() { 
    } 
    String myEvent; 
    public void run(int id,String event) { //run method defined into your html. 
     this.myEvent = event; 
     mHandler.post(new Runnable() { 
      public void run() { 
     Toast.makeText(getApplicationContext(),myEvent + " my ButtoN!", Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 
} 

Ajouter l'interface Javascript pour vous WebView

WebContent.addJavascriptInterface(new jocJavaScriptInterface(), "test");   
    WebContent.loadUrl("http://www.foo.com/Androidtest.html"); //load your Page with the button... 
    WebSettings webSettings = WebContent.getSettings(); 
    webSettings.setSavePassword(false); 
    webSettings.setSaveFormData(false); 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setSupportZoom(true);  
+2

Soyez prudent lorsque vous utilisez addJavascriptInterface, il laisse un trou de sécurité dans l'application. Les développeurs Android écrivent: _Caution: Utiliser addJavascriptInterface() permet à JavaScript de contrôler votre application Android._ dans http://developer.android.com/guide/webapps/webview.html –

+0

J-Rou merci pour l'info, je n'ai pas réalisé de cette issue !!! = 0 – Jorgesys

Questions connexes