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