android 调用JS

Javascript弹出框有如下三种:

alert(); //只用确定按钮

window.confirm("Are you srue?"); //带确定,取消按钮

window.prompt("Please input some word";,"this is text");    //带文本提示输入框

 

 

  1. //WebSettings 几乎浏览器的所有设置都在该类中进行  
  2.         WebSettings webSettings = mWebView.getSettings();  
  3.         //必须开启
  4.         webSettings.setJavaScriptEnabled(true);  
  5.         webSettings.setSupportZoom(false);
  6.         mWebView.addJavascriptInterface(new DemoJavaScriptInterface(),"androd");  
  7.         mWebView.loadUrl("file:///android_asset/page.html");
  1. final class DemoJavaScriptInterface {  
  2.         DemoJavaScriptInterface() {}  
  3.   
  4.         /** 
  5.          * 该方法被浏览器端调用 
  6.          */  
  7.         public void clickOnAndroid() {  
  8.             mHandler.post(new Runnable() {  
  9.                 public void run() {  
  10.                     //调用js中的onJsAndroid方法  
  11.                     mWebView.loadUrl("javascript:onJsAndroid()");  
  12.                 }  
  13.             });  
  14.         }  
  15.     } 

     

    1. final class MyWebChromeClient extends WebChromeClient {  
    2.   
    3.         /** 
    4.          * 处理alert弹出框 
    5.          */  
    6.         @Override  
    7.         public boolean onJsAlert(WebView view,String url,  
    8.                                  String message,JsResult result) {  
    9.             Log.d(LOG_TAG,"onJsAlert:"+message");  
    10.             mReusultText.setText("Alert:"+message);  
    11.             //对alert的简单封装  
    12.             new AlertDialog.Builder(WebViewDemo.this).  
    13.                 setTitle("Alert").setMessage(message).setPositiveButton("OK",  
    14.                 new DialogInterface.OnClickListener() {  
    15.                     @Override  
    16.                     public void onClick(DialogInterface arg0, int arg1) {  
    17.                        //TODO  
    18.                    }  
    19.             }).create().show();  
    20.             result.confirm();  
    21.             return true;  
    22.         } 
 
posted @ 2014-06-24 10:46  望远近  阅读(173)  评论(0编辑  收藏  举报