导航
WebView介绍
addJavaScriptInterface(Object o,String name)
addJavaScriptInterface(Object o,String name)
class JsObject{
@JavaScriptInterface
public String toString{xxxxx}
}
使用方法:webView.addJavaScriptInterface(new JsObject(),"xxx")
参数:Object o 可被Js控制的对象,Object为null无反应.
String Js可调用的标识.
注意:在低版本可能会存在安全风险.
CanGoBack() 返回值:boolean
得到当前WebView是否有可以回退的历史记录.
CanGoBackOnForward(int i) 返回值:boolean
当前页面是否能够满足所需页数情况下,能够移动.
CanGoForward() 返回值:boolean
当前页面是否可以向前移动.
ClearCache(boolean includeDisFiles)
清除WebView的缓存资源,这将为所有WebView,清除缓存使用.如果为false,则仅清理内存缓存,如果为true,则将会清除本地缓存.
ClearClientCertPreferences(Runnable onCleaned)
(1)清除所有当前客户端正在进行/取消的回调.
(2)当接收到广播,ACTION_STORAGE_CHANGED.
(3)所有应用程序的webView共享的这个证书.
参数:onCleared的子线程,如果对该回调不感兴趣直接传null,就将会调用主线程来清除.
ClearFormData()
删除自动删除的表单信息
注意它并不会删除webView的储存信息,只会删除自动弹出的信息.
ClearHistory()
告诉WebView清除前进和后退的历史记录.
clearMatches()
清除当前WebView界面,使用搜索(findAllSync(String))的查找匹配的字符串的高亮状态.
clearSslPreferences()
清除SSL表单中,当前进程中错误的SSL证书.
CopyBackForwardList()
返回对象:WebBackForwardList
WebBackForwardList:返回的是当前WebView的历史数据集合对象(队列),注意返回的列表是被当前拷贝的,不同时刻会返回不同的状态.
createPrintDocumentAdapter()
返回对象:PrintDocumentAdapter
参数:String documentName 打印文件的名称
创建一个当WebView页面已经定义过所有元素的打印文件的适配器.
createWebMessageChannel()
返回对象:WebMessagePort[]
创建HTML5与本地的程序的端口,方便发送信息以及其它行为的交互,可以通过返回对象向HTML端发送交互信息.
destory()
生命周期的销毁,销毁当前WebView的视图,这个方法应该在WebView视图被系统移除后调用.
documentHasImages()
判断下发的回调是否包含图片的信息
如果含有图片 Message.arg1 = 1
如果不含有图片 Message.arg1 = 0
enableSlowWholeDocumentDraw()
(1)只针对目标版本"L",WebView有一个新的默认行为,去有选择的展示并绘制HTML文档,这样可以减小内存并且提高性能.
(2)这些情况对于开发人员是公开的,然而某些情况需要禁用.
当使用ondraw()方法去绘制独立的对象,或者绘制可以页面以外的区域.
当App使用capturePicture()去获得一个非常大的HTML文档.
注意:该方法对于HTML有一个显著的性能成本,这种方法在使用的时候应该在创建WebView之前.
evaluateJavaScript()
void evaluateJavaScript (String script ,ValueCallBack<String> resultCallBack)
专门用于异步调用JavaScript方法,并且可以获得一个回调.
String scrpit 是addJavaScriptInterface 传递的对象.
findAddress()
发现第一个需要搜索的字段,目前只有美国的地理位置可以被发现.
findAllSync()
搜索字段,并全局高亮显示搜索结果,连续调用,将取消搜索请求.
findFocus()
返回对象: View
找到当前WebView视图层,含有焦点的对象.
findNext()
查询下一个已经"高亮显示"的字段(已经执行过findAllAyns)如果已经clearMatches,那么这个函数已经无效.
getCertficate()
获得顶层视图的SSL证书,如果得到的证书为null,则说明当前网站是不安全的.
getContentHeight()
返回对象: int
获得当前HTML视图内容的高度
getFavicon()
返回值:Bitmap
得到当前页面的图标(标识),注意:此方法知道WebViewClient的onReceivedIcon之后才有返回对象.
getHandler()
返回值:Handler
得到当前View的Handler对象,这个Handler能够发送对象和主线程交互.
getHitTestResult()
返回值:HitTestResult
获得当前触摸事件的反馈信息.
getHttpAuthUsernamePassword()
参数:String host,String realm
返回对象:String[]
获取host和realm的身份验证信息,返回NULL意味着未发现.
getOriginalUrl()
得到原始界面的URL,返回字段可能与WebViewClient.onPageStarted不同,因为URL随时在改变.
getProgress()
返回值 int progress
得到当前页面正在加载的百分比
getSettings()
返回值:WebSetting
获得用户控制WebView的WebSetting对象.
getTitle()
返回值:String
获得当前WebView内容的标题,必须得在onReceiverTitle之后才能使用.
getUrl()
返回值:String
获得当前页面的URL,并且在onPageStarted中拿到的Url不一定会与当前一致,因为Started之后,Url虽然被加载,但是页面可能没有被加载出来.
goBack()
从当前WebView的加载中进行后退操作.
goBackOrForward(int step)
从历史记录中,前进或后退操作,Step表示步数.
goForward()
从历史记录,进行前进操作
invokeZoomPicker()
调用webView的图形变焦器,这个变焦后的图片出现在屏幕的样子取决变焦的等级.
isPrivateBrowsingEnabled
返回值:boolean
获得当前的webView上面是否使用了隐私保护.
loadData(String data,String mineType,String encoding)
data : 一串给定的格式的编码
mineType : MIME的类型 e.g:text/html
encoding : data的编码格式
将制定的URL加载到webView上
注意:
(1)JavaScript基于源URL,在loadData方法并不适用,需要在loadDataWithBaseURL()方法,并且支付HTTP(s).
(2)如果编码格式是Base64,那么参数必须也是Base64格式,如果使用超出8位,请使用ASCII编码.
特殊符号表示:
# ---------> %23
% ---------> %25
\ ---------> %27
? ---------> %3f
loadDataWithBaseURL(String baseUrl,String data,String mimeType,String encoding,String historyUrl)
参数:
(1)将给定数据加载到BaseUrl上,防止JSP的同源策略.
注意:
这种方式只能访问本地设备文件中指定Scheme:
包括"https","http","ftp","about" or "JavaScript"
如果loadData()操作基于URL在loadDataWithBaseURL,那么就相当于无视history list数据,并且URL属于数据一部分.
loadUrl(String url)
加载一个Url对象
loadUrl(String url ,Map
加载一个Url对象,并且添加请求头信息.
onPragEvent()
处理WebView上的拖动事件
onGenericMotionEvent()
通用的事件处理和onTouchEvent()差不多.
onProvideVirtualStructure(VirtualStructure structure)
详情请见WebView.VisualStateCallBack类.
pageDown(boolean bottom)
滑动文本至WebView一半区域的大小(向下)
参数:bottom 确认当前页面是否滑动到页面底部
返回值: 当前页面是否在滑动
pageUp(boolean top)
滑动文本至WebView一半区域的大小(向上)
参数:top 确认当前页面是否滑动到页面顶部.
返回值:当前页面是否正在滑动.
pauseTimers()
暂停所有布局,参数和JSP的包括WebView的计时器,注意,这是个全局请求不局限在webView中,可能会导致程序停止.
PostUrl()
装在Data 通过Post方法发送到Url中.
注意:
如果Url不是一个网络的Url,那么就会执行loadUrl()方法.
requestFocusNodeHref(Message hrefMessage)
请求当前的锚点(触摸点)的Image或其他,如果Message = null 立刻返回.
-----Url
hrefMsg依附于请求的结果 : -----title
-----src
requestImageRef (Message msg)
请求用户最后触摸的URL,Message参数不能为null
requestTimes()
复原布局,参数JavaScript信息.
SaveWebArchive(String filename)
对当前的视图进行存档
SavaWebArchive(String because,boolean autoname,ValueCallBack callback)
参数:
because : 旧档文件名
autoname : false 会取because
true 会取because为文件夹名
callback 储存回调的集合.
setDownloadListener(DownLoadListener listener)
当前内容并不需要进行渲染,需要下载会注册一个监听,来监听下载.
setHttpAuthUserNamePassword(String host,String realm,String username,String password)
设置host,realm的验证信息 username,password.
setNetWorkAvailable(boolean networkUp)
告诉WebView当前网络是否可用,这将影响JavaScript的nativegatorisOnline (在线和离线的状态)HTML5的响应事件时间.
ZoomBy(float zoomFactor)
在WebView中执行变焦操作,变焦因子 0.01f - 100f之内
< 1f ->缩放状态
> 1f ->扩大状态
某些页面不支持,google支持百度不支持,这个分网站的
ZoomIn()
返回值 boolean 在这个WebView执行放大
返回true 放大成功 ,false 放大无变化.
ZoomOut()
返回值:boolean
在WebView上执行缩小
返回true 缩小成功,false 缩小无变化.