android WebView问题

时间:2023-11-25 09:22:32

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();问题解决!