1、加载本地js、css文件

今天碰到个问题,使用WebView加载html数据,本来没什么问题,loadUrl(),loadData(),都可以使用

但是如果需要引入本地的js、css文件就碰到问题了。。。

网上有的说直接

<script src="file:///android_asset/....js"></script>

就可以了,试了很多次,基本没什么效果

后来使用loadDataWithBaseUrl("file:///android_asset/",,,,,);

<script src=".....js">就可以啦,问题解决

 

2、js调用android方法

 webView.addJavascriptInterface(this,"test");
.......

 @JavascriptInterface   //注解
    public  void show(){
      Toast.makeText(this,"hellowrold!",Toast.LENGTH_SHORT).show();
    }
function aa(){
  test.show();  //java代码写完之后直接调用
}

3、android 调用js方法

  webView.loadUrl("javascript:callFromAndroid()");//可以传递参数

 

4、WebView 重写onJsAlert()只触发一次的问题

  webView.setWebChromeClient(new WebChromeClient(){
            @Override
            public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
                Toast.makeText(MainActivity.this,"message==="+message,Toast.LENGTH_SHORT).show();
                result.cancel();
                return true;
            }
        });

需要调用 result.cancel();问题解决!

 

posted on 2016-10-17 16:50  向着大牛奋斗  阅读(183)  评论(0编辑  收藏  举报