android webview什么时候调用shouldOverrideUrlLoading()

3,535 阅读1分钟

blog.csdn.net/a0407240134…
参考这个文章;

从上面可以看出,浏览器如下行为:
前进后退(isBackForward ),刷新(isReload),Post请求(navigationParams.isPost)都不会触发shouldOverrideUrlLoading.
如果都不是以上行为,还要满足isRedirect或!isLoadUrl 才能触发shouldOverrideUrlLoading.
isRedirect就是重定向的url,即重定向url也会触发shouldOverrideUrlLoading;
这里重点介绍以下isLoadUrl.
凡是webview.loadUrl出load页面的,isLoadUrl都是true(原因是webview.loadUrl最终会调到loadUrl(LoadUrlParams params),进而params.setTransitionType(params.getTransitionType() | PageTransition.FROM_API)).