zoukankan      html  css  js  c++  java
  • 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.     }  
  • 相关阅读:
    最大子数组求和并进行条件组合覆盖测试
    Ubuntu 16.04 c++ Google框架单元测试
    The directory '/home/stone/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If execu
    Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'
    个人博客作业三:微软小娜APP的案例分析
    补交 作业一
    补交 作业二:个人博客作业内容:需求分析
    嵌入式软件设计第12次实验报告
    嵌入式软件设计第11次实验报告
    嵌入式软件设计第10次实验报告
  • 原文地址:https://www.cnblogs.com/sode/p/2191632.html
Copyright © 2011-2022 走看看