首页 > Web开发 > 详细

WebView用法与JS交互

时间:2014-03-27 07:28:57      阅读:475      评论:0      收藏:0      [点我收藏+]

参考 http://blog.csdn.net/chenfeng0104/article/details/7023448

http://www.cnblogs.com/mengdd/archive/2013/03/02/2940185.html

 

Android 调用JavaScript

1.设置js Enable

bubuko.com,布布扣
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
bubuko.com,布布扣

 

 

2.注册函数

bubuko.com,布布扣
// 用JavaScript调用Android函数:
// 先建立桥梁类,将要调用的Android代码写入桥梁类的public函数
// 绑定桥梁类和WebView中运行的JavaScript代码
// 将一个对象起一个别名传入,在JS代码中用这个别名代替这个对象,可以调用这个对象的一些方法
myWebView.addJavascriptInterface(new WebAppInterface(this),"myInterfaceName");
bubuko.com,布布扣

 

3.设置标签

Android 4.1,API 17,也就是JELLY_BEAN 开始,只有被JavascriptInterface 注解标识的公有方法可以被JS代码访问。

5.设置 chrome handler

bubuko.com,布布扣
// 如果不设置这个,JS代码中的按钮会显示,但是按下去却不弹出对话框
        // Sets the chrome handler. This is an implementation of WebChromeClient
        // for use in handling JavaScript dialogs, favicons, titles, and the
        // progress. This will replace the current handler.
        myWebView.setWebChromeClient(new WebChromeClient()
        {

            @Override
            public boolean onJsAlert(WebView view, String url, String message,
                    JsResult result)
            {
                // TODO Auto-generated method stub
                return super.onJsAlert(view, url, message, result);
            }

        });
bubuko.com,布布扣

6.网页中调用

bubuko.com,布布扣
    //调用绑定的Java对象的方法,即调用Android代码显示对话框
    function showAndroidToast(toast)
    {
        console.log("showAndroidToast method");
        myInterfaceName.showToast(toast);//注意此处的myInterfaceName要和外部传入的名字一致,大小写正确
    }
bubuko.com,布布扣

 

Js调用android

1.注册函数

bubuko.com,布布扣
    myButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // 用Android代码调用JavaScript函数:
                myWebView.loadUrl("javascript:myFunction()");

                // 这里实现的效果和在网页中点击第一个按钮的效果一致

            }
        });
bubuko.com,布布扣

2.html网页中写函数

1
2
3
4
function myFunction()
 {
     alert("Hello World!");
 }

  

WebView用法与JS交互,布布扣,bubuko.com

WebView用法与JS交互

原文:http://www.cnblogs.com/wjw334/p/3626232.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!