Ste*_*ven 17 android webview webviewclient
我正在尝试在我的网页加载完成后在Android WebView上执行操作.我设置我的WebView以使用WebViewClient来使用onPageFinished事件回调.但是,经过一些测试后,似乎还没等到页面上的所有JS都在我的onPageFinished代码触发之前完成加载.
Google文档说明了这一点:
public void onPageFinished (WebView view, String url)
Run Code Online (Sandbox Code Playgroud)
在API级别1中添加通知主机应用程序页面已完成加载.仅对主框架调用此方法.调用onPageFinished()时,渲染图片可能尚未更新.要获取新图片的通知,请使用onNewPicture(WebView,Picture).
参数
view正在启动回调的WebView.
url页面的网址.
1)onPageFinished只等待DOM加载吗?
2)有没有办法检测页面上的任何JS何时完成?如果是这样,我应该使用什么?
我没有在WebViewClient中看到任何可能用于此目的的内容.我不想添加延迟,因为我的用户可以在EDGE或LTE上.
小智 7
您需要从WebChromeClient实现回调.onPageFinished()是由WebViewClient提供的API.还有另一个名为WebChromeClient的接口,它提供您正在寻找的进度信息:
打开上面的链接并查找onProgressChanged(WebView视图,int newProgress) - 'newProgress'变量为您提供已完成的页面加载百分比.当它达到100时,你有一个有效的页面.onPageFinished()无法可靠地用于此(由于服务器端重定向等)
我不知道"当页面上的JS完成时"是什么意思.也许你可以澄清你的意思?
| 归档时间: |
|
| 查看次数: |
8774 次 |
| 最近记录: |