Android WebView onPageStarted / onPageFinished方法的说明

时间:2014-03-14 08:31:49

标签: android cordova webview

我真正希望得到的是,这些方法在什么时候被完全调用?

WebView类引用上的

Android documentation页面加载时以及页面开始加载时调用它们。加载什么 - 加载请求或呈现HTML?

我需要在html已经足够下载的时候准确调用一个方法,android webview将开始在屏幕上显示元素,文档中对这些方法的解释似乎有点令人困惑。

提前致谢, 寒冷

1 个答案:

答案 0 :(得分:1)

在网络请求启动和完成时调用这些方法。它们与准备显示或呈现的内容无关。

根据您的具体要求,您可以使用PictureListener回调[1]让您知道WebView何时准备好一些内容。但是,如果要加载许多URL,这可能是不稳定的,因为图片回调不一定会针对当前的URL加载触发 - 在下一页的加载过程中,您可能会收到旧页面的陈旧回放(例如想象一个旧页面正在播放加载新页面时的动画,或类似的东西)。

一个非常可靠的替代方法是在HTML中播放一个简短的CSS动画,并在动画完成时通过JavaScript界面​​[2]回调Java。当您获得该回调时,WebView应该呈现内容。

[1] http://developer.android.com/reference/android/webkit/WebView.html#setPictureListener(android.webkit.WebView.PictureListener) [2] http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,java.lang.String)