从android WebView访问元数据
如何在Android中访问加载到WebView的HTML页面的元数据 我在stackoverflow.com和google上搜索了几个小时,却找不到任何答案 我只能通过以下代码获取url和标题:从android WebView访问元数据,android,webview,meta-tags,Android,Webview,Meta Tags,如何在Android中访问加载到WebView的HTML页面的元数据 我在stackoverflow.com和google上搜索了几个小时,却找不到任何答案 我只能通过以下代码获取url和标题: webView.getTitle(); webView.getUrl(); 这是不可能的,webview不支持吗?不要在webview中打开URL 首先。打开到URL的HttpURLConnection。读取服务器的输出,您可以扫描服务器响应以查找元数据 当您读取服务器输出时,将数据写入缓冲区,然后使
webView.getTitle();
webView.getUrl();
这是不可能的,webview不支持吗?不要在
webview
中打开URL
首先。打开到URL的HttpURLConnection
。读取服务器的输出,您可以扫描服务器响应以查找元数据
当您读取服务器输出时,将数据写入缓冲区,然后使用
loadData
而不是loadUrl
在WebView
中显示缓冲数据,如果它是您自己的网页,则您可以使用以下代码将元描述或任何文本传递到应用程序:
public class WebAppInterface {
@JavascriptInterface
public void setDesc(String desc) {
mDescription = desc;
}
}
然后将JS接口添加到WebView:
webView.addJavascriptInterface(new WebAppInterface(), "Android");
最后,在网页中添加以下代码:
<script type="text/javascript">
Android.setDesc("Your meta tag desc here");
</script>
setDesc(“你的meta标签desc在此”);
阅读更多信息,请访问您可以通过以下简单方法解决问题:
private class JsInterface {
@JavascriptInterface
@SuppressWarnings("unused")
public void processHTML(String content) {
//handle content
}
}
mWebView.addJavascriptInterface(new JsInterface(), "CC_FUND");
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
mWebView.loadUrl("javascript:window.CC_FUND.processHTML( (function (){var metas = document.getElementsByTagName('meta'); \n" +
"\n" +
" for (var i=0; i<metas.length; i++) { \n" +
" if (metas[i].getAttribute(\"name\") == \"description\") { \n" +
" return metas[i].getAttribute(\"content\"); \n" +
" } \n" +
" } \n" +
"\n" +
" return \"\";})() );");
super.onPageFinished(view, url);
}
}
私有类接口{
@JavascriptInterface
@抑制警告(“未使用”)
public void processHTML(字符串内容){
//处理内容
}
}
addJavascriptInterface(新的JsInterface(),“CC_基金”);
setWebViewClient(新的WebViewClient()){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
mWebView.loadUrl(“javascript:window.CC_FUND.processHTML((函数(){var metas=document.getElementsByTagName('meta');\n”+
“\n”+
“对于(var i=0;i)您到底想要获取/查看哪种数据?@Aman Grover例如description meta tag