您的位置:首页 > 移动开发

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

2017-12-28 13:26 176 查看
必知必会 | WebView 的一切都在这儿

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

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)

内存泄漏

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  webview