202009-24 webview添加参数与修改请求头的user-agent实例 前言最近公司项目需求,在项目中嵌入h5页面,一般原生,看着感觉跟往常一样,一个地址就完全ok了,如果是这样那就没有这个博文的必要了!项目的登录使用的token登录,在移动端的登录是原生的,但是h5也是有登录页面,这就需要控制token的过期时间了,但是想达到的网页访问使用网页的cookie,app登录使用的是app原生的登录token,在网页的cookie登录过期的时候,网页是可以正常退回登录页面,而在app嵌入的h5也需要根据token是否过... 继续阅读 >
202009-24 Android WebView userAgent 设置为桌面UA实例 最近一个大屏项目中使用到支付宝扫码支付,但是webview加载扫码支付链接时会自动跳转到移动版页面,网上查找怎么设置,没找到解决方案。于是自己随便试了下webview.getSettings().setUserAgentString("PC");或webview.getSettings().setUserAgentString("电脑");竟然真的可以。userAgent可以设置浏览器标识,Android/iphone/ipod/ipad/PC等,这个应该有做类似模糊搜索一样,传相近的值就可以;它就会自动加载桌面版页面或移动版... 继续阅读 >
202009-24 Android WebView拦截iframe标签内部跳转教程 最近项目里有个广告位需要动态配置,后台给了一段html嵌套iframe标签的代码,需要Android拦截iframe内部的跳转,自己做处理。比如,下面是一段html代码,嵌套这iframe标签,src就是跳转地址,我现在就要当你点击该网址的时候做拦截,自己做处理而不是跳转。<html><iframesrc="https://www.jb51.net/"frameborder='0'scrolling='no'width='100%'height='300'></iframe></html>oh,我还是第一次知道iframe标签,不过想着应该... 继续阅读 >
202009-24 解决webview内的iframe中的事件不可用的问题 最近做Android的Webview开发,使用iframe中嵌入了很多页面,嵌入的页面却不可用,最后发现是webView.setWebViewClient(newWebViewClient(){@OverridepublicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){returnsuper.shouldOverrideUrlLoading(view,url);}不要覆写shouldOverrideUrlLoading这个方法,覆写这个方法会拦截ifame中的事件。补充知识:Android原生WebView访问使用iFrame网页问题(... 继续阅读 >
202009-24 android webview获取html代码和根据id获取value实例 1前言最近做一个项目,需要webview获取网页中input的内容,把知识整理一下,做个记录,也希望对大家有所帮助。2获取html内容2.1初始化webviewwebview.getSettings().setJavaScriptEnabled(true);webview.addJavascriptInterface(newInJavaScriptLocalObj(),"java_obj");/***注意,@JavascriptInterface方法的注解是一定要加的,*很多同学因为没加所以没有效果*/finalclassInJavaScriptLocalObj{@JavascriptInterf... 继续阅读 >
202009-24 Android Webview的postUrl与loadUrl加载页面实例 关于Android的webview,用过的想必都不会陌生。这里我就不说webview的基本用法了,想要知道的可以去网上百多,有很多介绍webview基本用法的。本文要介绍的主要是在项目过程中使用webview的postUrl遇到的坑。1、使用场景如下:webview在加载H5链接时,默认是使用loadUrl进行加载,如果你设置了缓存属性(进行缓存),在显示的H5页面内点击跳转到另外一个页面后,按回退键,可以正常的返回到上一个页面,因为进行了缓存设置。但是如... 继续阅读 >
202009-24 Android中的webview监听每次URL变化实例 通过这个可以监听Android中webview访问的URL变化:webView.setWebViewClient(newWebViewClient(){@OverridepublicvoidonLoadResource(WebViewview,Stringurl){Log.e("hao","WebView3:"+view.getUrl()+"\\n"+"URL3:"+url);super.onLoadResource(view,url);}});补充知识:Android关于WebView加载完成的多种监听方式第一种方式:setWebViewClient()>>>>>>onPageFinished()缺点是6.0以上手机只会调用响应一次,如下:mWebV... 继续阅读 >
202009-24 关于WebView 重定向行为导致的多次加载的问题 使用WebView时,我们通常会重写以下方法:shouldOverrideUrlLoading()onPageStarted()onPageFinished()一、WebView内部点击连接,他们的回调顺序是这样的:1、如果是固定的地址:shouldOverrideUrlLoading()->onPageStarted()->onPageFinished()shouldOverrideUrlLoading()由于它要提供给APP选择加载网页环境的机会,所以只要是网页上地址请求,都会获取到。2、如果是重定向地址,在跳转到目的地址之前会不断重定向,每一次... 继续阅读 >
202009-24 Android webview加载https链接错误或无响应的解决 最近做无线WiFi的时候,在最后认证成功的时候会弹出一个广告页,于是用webview去加载了一下,结果没反应,打印url出来看了一下,发现是https格式的,在使用WebView加载https资源文件时,如果认证证书不被Android认可,那么会出现无法成功加载对应资源问题。那么,我们就要针对这一状况作出对应的处理。于是百度了一下,这里记录一下,给大家做个参考:1、设置WebView接受所有网站的证书在认证证书不被Android所接受的情况下,我们... 继续阅读 >
202009-24 解决Android WebView拦截url,视频播放加载失败的问题 需求:Android调用webView加载网页的时候,拦截某一个链接不执行此链接,执行指定跳转到其他activity页面。webview的setWebViewClient方法中提供了几个api://此回调是拦截点击要跳转的url链接,并对请求的url链接做修改(添加删除字段)publicWebResourceResponseshouldInterceptRequest(WebViewview,Stringurl)//在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不... 继续阅读 >
202009-24 解决webview 第二次调用loadUrl页面不刷新的问题 一个需求,当点击Button按钮时,希望加载另一个Url。以下方法可以成功!@OverridepublicvoidonClick(Viewview){webview.loadUrl(url);webview.loadUrl("javascript:window.location.reload(true)");}亲测管用!补充知识:WebView.loadUrl使用误区当使用loadUrl加载网页的时候,有时候会出现调用系统浏览器加载网页的现象,网上大部分的解决方案是:webView.setWebViewClient(newWebViewClient(){publicboolea... 继续阅读 >