• webViewjs 与 WebView 交互


    引用:http://www.iteye.com/topic/456846

    Html代码  收藏代码
    1. <html>  
    2.     <script language="javascript">  
    3.         /* This function is invoked by the activity */  
    4.         function wave() {  
    5.             alert("1");  
    6.             document.getElementById("droid").src="android_waving.png";  
    7.             alert("2");  
    8.         }  
    9.     </script>  
    10.     <body>  
    11.         <!-- Calls into the javascript interface for the activity -->  
    12.         <a onClick="window.demo.clickOnAndroid()"><div style="80px;  
    13.             margin:0px auto;  
    14.             padding:10px;  
    15.             text-align:center;  
    16.             border:2px solid #202020;" >  
    17.                 <img id="droid" src="android_normal.png"/><br>  
    18.                 Click me!  
    19.         </div></a>  
    20.     </body>  
    21. </html>  



    再看我们的java 代码。 

    Java代码  收藏代码
    1. public class WebViewDemo extends Activity {  
    2.   
    3.     private static final String LOG_TAG = "WebViewDemo";  
    4.   
    5.     private WebView mWebView;  
    6.   
    7.     private Handler mHandler = new Handler();  
    8.   
    9.     @Override  
    10.     public void onCreate(Bundle icicle) {  
    11.         super.onCreate(icicle);  
    12.         setContentView(R.layout.main);  
    13.         mWebView = (WebView) findViewById(R.id.webview);  
    14.   
    15.         WebSettings webSettings = mWebView.getSettings();  
    16.         webSettings.setSavePassword(false);  
    17.         webSettings.setSaveFormData(false);  
    18.         webSettings.setJavaScriptEnabled(true);  
    19.         webSettings.setSupportZoom(false);  
    20.   
    21.         mWebView.setWebChromeClient(new MyWebChromeClient());  
    22.   
    23.         mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");  
    24.   
    25.         mWebView.loadUrl("file:///android_asset/demo.html");  
    26.     }  
    27.   
    28.     final class DemoJavaScriptInterface {  
    29.   
    30.         DemoJavaScriptInterface() {  
    31.         }  
    32.   
    33.         /** 
    34.          * This is not called on the UI thread. Post a runnable to invoke 
    35.          * loadUrl on the UI thread. 
    36.          */  
    37.         public void clickOnAndroid() {  
    38.             mHandler.post(new Runnable() {  
    39.                 public void run() {  
    40.                     mWebView.loadUrl("javascript:wave()");  
    41.                 }  
    42.             });  
    43.   
    44.         }  
    45.     }  
    46.   
    47.     /** 
    48.      * Provides a hook for calling "alert" from javascript. Useful for 
    49.      * debugging your javascript. 
    50.      */  
    51.     final class MyWebChromeClient extends WebChromeClient {  
    52.         @Override  
    53.         public boolean onJsAlert(WebView view, String url, String message, JsResult result) {  
    54.             Log.d(LOG_TAG, message);  
    55.             result.confirm();  
    56.             return true;  
    57.         }  
    58.           
    59.     }  
  • 相关阅读:
    052-240(新增70题2018)
    052-239(新增70题2018)
    052-238(新增70题2018)
    052-237(新增70题2018)
    052-236(新增70题2018)
    052-235(新增70题2018)
    Elasticsearch和Solr的区别
    单点登录流程图
    创建购物车需要考虑哪些因素?以及解决方案
    消息队列在项目中的应用
  • 原文地址:https://www.cnblogs.com/sode/p/2191632.html
Copyright © 2020-2023  润新知