为什么WebChromeClient.onProgressChanged和jquery';s$(document).ready()回调?

为什么WebChromeClient.onProgressChanged和jquery';s$(document).ready()回调?,jquery,android,webview,Jquery,Android,Webview,我有一个webview,我正在加载一个网页,在这里我调用了一个JS接口函数,该函数在本地应用程序document.ready中实现。我还处理WebChromeClient.onProgressChanged,并在进度达到100%时执行一些操作 我发现onProgressChanged首先达到100%,在调用document.ready中调用的JS接口处理程序之前有几秒钟的延迟。正在加载的网页很小,没有任何资源。这种行为表现为不可接受的用户体验。 为什么会有这样的延迟,使用什么样的Webchrom

我有一个webview,我正在加载一个网页,在这里我调用了一个JS接口函数,该函数在本地应用程序document.ready中实现。我还处理WebChromeClient.onProgressChanged,并在进度达到100%时执行一些操作

我发现onProgressChanged首先达到100%,在调用document.ready中调用的JS接口处理程序之前有几秒钟的延迟。正在加载的网页很小,没有任何资源。这种行为表现为不可接受的用户体验。
为什么会有这样的延迟,使用什么样的Webchromeclient回调/Jquery方法来最小化延迟?

因为页面是在脚本触发之前加载的,document ready会首先查找除图像和类似内容之外的所有html元素,所以在加载完所有内容之后,脚本才会启动,到那时,您的onprogresschanged已经收到100%的第一个请求,因为在所有设备都要求检查js是否应该被允许之后,它可能比您的javascript具有更高的优先级,所以在调用此方法之前,它必须经过一些检查:)