项目中加载一个地址需要显示网页的Title
Webview有提供的获取方法:
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, final String title) {
super.onReceivedTitle(view, title);
textTitle = title;
Logger.e("onReceivedTitle = "+title);
}
});
问题:项目中有好多的微信公众号的文章,这些url是获取不到Title的
解决方法:
查看微信公众号文章的网页源码,有个msg_title变量,就是文章的title
这样就可以通过js和android的交互去获取该变量的值。
//设置交互配置
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new JavaInterface(),"androidObject" );
public class JavaInterface{
@JavascriptInterface
public void getTitle(String title){
//获取到标题
}
}
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(android.webkit.WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
view.evaluateJavascript("javascript:window.androidObject.getTitle(msg_title)", new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
}
});
}else {
view.loadUrl("javascript:window.androidObject.getTitle(msg_title)");
}
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
}
});
在js中调用java的getTitle方法,方法参数就是js里的标题变量msg_title,这样就可以获取到标题了,这个只是针对微信公众号里的文章,要是获取url文章,就需要进行webview自带获取和微信文章获取方式两种相结合处理。

View-WebView获取url的title相关推荐

  1. asp.net mvc 如何在View中获取Url参数的值

    如果url是 /home/index?id=3 直接Request就ok. 但是如果路由设定为:{controller}/{action}/{id} url是 /home/index/3    这时想 ...

  2. 用JavaScript获取URL中的参数值

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  3. android读取网页标题,如何获取WebView中页面的Title信息

    应用开发中需要获取WebView当前页面的标题,可能通过对WebChromeClient.onReceivedTitle()方法的重写来实现 代码如下:public class MainActivit ...

  4. iOS-获取当前网页的 url 和 title 和 html

    iOS-获取当前网页的 url 和 title 和 html .h文件 @property (strong,nonatomic)UIWebView *webView; @property (stron ...

  5. Uniapp中调整web-view的高度、获取当前的web-view页面URL

    web-view Webview 是一个基于webkit引擎,可以解析DOM 元素,展示html页面的控件,它和浏览器展示页面的原理是相同的,所以可以把它当做浏览器看待.(chrome浏览器也是基于w ...

  6. android url webview,android - webview获取到当前页面的url

    android - webview获取到当前页面的url 2017-10-23 08:54 访问量: 2958 分类: 技术 使用 webview.getUrl() 即可. 可以完美返回  a.com ...

  7. WebView获取当前网页的页面元素

    今天简单总结一下,如何通过WebView来获取Html的页面元素. 第一步,首先用WebView加载一个Html页面 NSString *str=@"http://.........&quo ...

  8. android,ios配置scheme,react-native获取url

    scheme协议定义 scheme 是一种页面之间跳转的协议,不仅可以用于app之间进行跳转,还可以用于 H5 页面跳转到app页面. 通过scheme协议,服务器可以定制化告诉App跳转那个页面,可 ...

  9. android获取url参数值,android 获取url 参数值

    前言 在开发webview 有时候需要控制url的跳转,所以需要获取url 参数进行判断 比如 http://192.168.0.37:8012/mobileAPP/payment.aspx?oId= ...

  10. android 获取位置数据库,尝试从webview获取位置时,Android“SQLite数据库无法从/CachedGeoposition.db加载”错误...

    我正在创建一个使用webkit和chrome客户端的android应用程序.我希望能够在网页请求时获取当前位置.我设置的网页适用于普通浏览器就好了.然而,当我尝试访问该网页WebKit中,我不断收到此 ...

最新文章

  1. ZigBee On Windows Mobile--3.模拟器和实物调试
  2. redis和Memcached的区别,都什么时候使用?
  3. scrapy爬虫启示录-小伙子老夫看你血气方刚这本《爬虫秘录》就传给你了
  4. 【转】ABP源码分析四十四:ZERO的配置
  5. 简述 maven 命令 package、install、deploy 的区别
  6. multiprocessing(python 版)
  7. oracle sql 基础(六):数据控制语言(用户及权限管理)
  8. 有关VIM的一些笔记
  9. Bootstrap导航组件
  10. Python 文件操作三
  11. es怎么返回全部查询结果_es的返回数据结构
  12. Windows Azure真实案例--Lokad 公司通过软件+服务高效提供先进的预测服务
  13. 内存泄露之常见问题解决「初级篇」
  14. 联想服务器如何u盘安装系统教程,u盘联想系统安装教程 联想如何启动u盘安装系统教程...
  15. chrome浏览器无法安装crx插件的解决方法(以翻译插件为例)
  16. uniapp 开发电视机APP 基座连接电视机
  17. 走访名校名企,助力生涯规划
  18. DS图—图的最短路径(不含代码框架)
  19. GO语言-数据结构-队列
  20. 小程序开发实战学习笔记 1

热门文章

  1. 《About Face 3:交互设计精髓》读书笔记(一)
  2. Eclipse更改字体大小
  3. ECSHOP 大商创 对接易支付接口
  4. Python读取罗技G29数据
  5. 航空系统c语言课程设计报告,c语言课程设计报告_航空订票系统西安郵電學院.doc...
  6. vue js代码混淆加密、压缩
  7. WebApp 安全入门
  8. css背景和边框标签总结
  9. WebRAY权小文:产品就是工程师的尊严
  10. 爬虫项目十六:用 Python 三十行代码采集QQ群成员信息,很简单