必知必会 | WebView 的一切都在这儿

必知必会 | WebView 的一切都在这儿

文章较长,且大部分说明包含在注释中,建议收藏后慢慢看~

1
目录

  1. 相关API

    1.1. 相关类介绍

    1.2. WebView

    1.3. WebSettings

    1.4. WebViewClient

    1.5. WebChromeClient

2.回调顺序

3.视口(viewport)

4.管理 Cookies

5.缓存(Cache)

6.预加载(Preload)

6.与Javascript交互

8.地理位置(Geolocation)

9.弹框(alert/confirm/prompt/onbeforeunload)

10.全屏(Fullscreen)

  1. 内存泄漏

12.参考

2
相关API

相关类介绍

WebResourceRequest 添加于API21,封装了一个Web资源的请求信息,包含:请求地址,请求方法,请求头,是否主框架,是否用户点击,是否重定向

WebResourceResponse 封装了一个Web资源的响应信息,包含:响应数据流,编码,MIME类型,API21后添加了响应头,状态码与状态描述

WebResourceError 添加于API23,封装了一个Web资源的错误信息,包含错误码和描述

CookieManager 管理用于WebView的cookies。。

WebViewDatabase 存储与管理以下几类浏览数据:

表单自动填充的的用户名与密码

HTTP认证的用户名与密码

曾经输入过的文本(比如自动完成)

WebStorage 用于管理WebView提供的JS存储API,比如Application Cache API,Web SQL Database API,HTML5 Web Storage API

GeolocationPermissions 用于管理WebView的JS Geolocation API

HttpAuthHandler 表示一个HTTP认证请求,提供了方法操作(proceed/cancel)请求

SslErrorHandler 表示一个处理SSL错误的请求,提供了方法操作(proceed/cancel)请求

ClientCertRequest 表示一个证书请求,提供了方法操作(proceed/cancel/ignore)请求

JsResult 用于处理底层JS发起的请求,为客户端提供一些方法指明应进行的操作,比如确认或取消。

WebView

基本

// 获取当前页面的URL
public String getUrl();
// 获取当前页面的原始URL(重定向后可能当前url不同)
// 就是http headers的Referer参数,loadUrl时为null
public String getOriginalUrl();
// 获取当前页面的标题
public String getTitle();
// 获取当前页面的favicon
public Bitmap getFavicon();
// 获取当前页面的加载进度
public int getProgress();
// 通知WebView内核网络状态
// 用于设置JS属性window.navigator.isOnline和产生HTML5事件online/offline
public void setNetworkAvailable(boolean networkUp)
// 设置初始缩放比例
public void setInitialScale(int scaleInPercent);

加载网页

// 加载URL指定的网页
public void loadUrl(String url);
// 携带http headers加载URL指定的网页
public void loadUrl(String url, Map

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值