搜索
热搜: 活动 交友 discuz
查看: 3410|回复: 0
打印 上一主题 下一主题

Webview与javascript的互相调用

[复制链接]

160

主题

165

帖子

814

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
814
跳转到指定楼层
楼主
发表于 2016-8-18 16:01:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步 Webview设置
//设置编码  
       mWebView.getSettings().setDefaultTextEncodingName("utf-8");  
       //支持js  
       mWebView.getSettings().setJavaScriptEnabled(true);  
       //设置背景颜色 透明  
       mWebView.setBackgroundColor(Color.argb(0, 0, 0, 0));  
       //设置本地调用对象及其接口  
    //   mWebView.addJavascriptInterface(this, "myObj");  //这里this可以本类 也可以创建一个新的类
    mWebView.addJavascriptInterface(new JavaScriptObject(mContext), "myObj");  
   public class JavaScriptObject {  
    Context mContxt;  
    @JavascriptInterface //sdk17版本以上加上注解  
    public JavaScriptObject(Context mContxt) {  
        this.mContxt = mContxt;  
    }  

    public void fun1FromAndroid(String name) {  
        Toast.makeText(mContxt, name, Toast.LENGTH_LONG).show();  
    }  

    public void fun2(String name) {  
        Toast.makeText(mContxt, "调用fun2:" + name, Toast.LENGTH_SHORT).show();  
    }  
}  
       //载入js  
       mWebView.loadUrl("file:///android_asset/test.html");  


第二步:webview执行JS的方法

mWebView.loadUrl("javascript:funFromjs()");  


第三步:JS执行WEBVIEW的方法


window.myObj.fun2()"name";

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|安卓论坛  

GMT+8, 2024-5-18 15:59 , Processed in 0.062673 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Design S!|ƽ̶

快速回复 返回顶部 返回列表