我在使用webview中的过程中,打开一个页面,然后如果有404错误则显示错误页面,在使用过程中我发现打开一个页面,总共请求了7次,其中有2次请求的资源返回的是404,这就导致了页面原本是可以加载的,但是还是显示了错误界面。
所以我想请教一下,打开一个http页面 并不是只有一次网络请求吗?(不是只会返回一次200,或404或其他)?
会有很多次,包括文档: html 文件本身资源: 图片 视频 js文件 css文件 数据: ajax请求等等
浏览器 F12 会看得很清楚
一个页面包括很多部分,如果你的页面中包含图片、样式文件和从后端拉取的数据等。就不是请求一次了,会请求很多次。
一般webview判定加载失败主要是判断获取html文档部分是否是200,加载完成html之后还有很多需要进行异步加载的地方,比如获取css、js、图片等数据,重写onLoadResource可以看到加载了哪些资源文件。至于显示错误页面还需要看服务器的设置,有的服务器会针对404、502之类的错误进行重定向让你跳转到指定的页面上,而不是webview中自带的错误页面,这种页面一般是服务器那边的问题,和本机有没有正确响应页面没什么关系。
会有很多次,包括
文档: html 文件本身
资源: 图片 视频 js文件 css文件
数据: ajax请求
等等
浏览器 F12 会看得很清楚
一个页面包括很多部分,如果你的页面中包含图片、样式文件和从后端拉取的数据等。就不是请求一次了,会请求很多次。
一般webview判定加载失败主要是判断获取html文档部分是否是200,加载完成html之后还有很多需要进行异步加载的地方,比如获取css、js、图片等数据,重写onLoadResource可以看到加载了哪些资源文件。至于显示错误页面还需要看服务器的设置,有的服务器会针对404、502之类的错误进行重定向让你跳转到指定的页面上,而不是webview中自带的错误页面,这种页面一般是服务器那边的问题,和本机有没有正确响应页面没什么关系。