android webview 怎么更改a标签或者获得里面的数据
2个回答
展开全部
Web与html交互分为2个部分:
1、 android端的webview控制,以及数据交互工具类
2、 html页面的javascript
同样,页面交互是双向的,所以有如下两种操作:
1、 通过android应用程序,调用html页面的javascript,完成修改html等操作。
2、 通过html页面javascript调用android端工具类,达到html页面数据回传给android应用处理。
//与html页面交互工具类
util = new WebFormUtil(this, webView);
//webview初始化
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
//允许执行javascript语句
webSettings.setJavaScriptEnabled(true);
//允许允许插件
webSettings.setPluginsEnabled(true);
//html页面大小自适应
webSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
//指定在html页面中,javascript通过调用mtsinfo,来调用util工具类
webView.addJavascriptInterface(util, "mtsinfo");
webView.loadUrl("file://" + UNZIPDIR + "/" + index[indexId]);
//指定webview显示规则
webView.setWebViewClient(new WebViewClientEmb());
public class WebViewClientEmb extends WebViewClient {
// 在WebView中而不是系统默认浏览器中显示页面
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
// 页面载入前调用
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon){
super.onPageStarted(view, url, favicon);
}
// 页面载入完成后调用
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
}
1、 android端的webview控制,以及数据交互工具类
2、 html页面的javascript
同样,页面交互是双向的,所以有如下两种操作:
1、 通过android应用程序,调用html页面的javascript,完成修改html等操作。
2、 通过html页面javascript调用android端工具类,达到html页面数据回传给android应用处理。
//与html页面交互工具类
util = new WebFormUtil(this, webView);
//webview初始化
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
//允许执行javascript语句
webSettings.setJavaScriptEnabled(true);
//允许允许插件
webSettings.setPluginsEnabled(true);
//html页面大小自适应
webSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
//指定在html页面中,javascript通过调用mtsinfo,来调用util工具类
webView.addJavascriptInterface(util, "mtsinfo");
webView.loadUrl("file://" + UNZIPDIR + "/" + index[indexId]);
//指定webview显示规则
webView.setWebViewClient(new WebViewClientEmb());
public class WebViewClientEmb extends WebViewClient {
// 在WebView中而不是系统默认浏览器中显示页面
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
// 页面载入前调用
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon){
super.onPageStarted(view, url, favicon);
}
// 页面载入完成后调用
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询