其实应该说是Shdocvw+Trident的处理流程。大多数IE核心的浏览器或是IE核心的嵌入浏览器的应用程序,都没有替换掉Shdocvw,所以可以广泛适用这些浏览器。
总的来说就是服务器端进行了处理本地就不会处理。
一般HTTP服务器的默认设置不会设置404错误页面,不过大多数认真做的网站,都还是会做一个自己网站风格的404错误页面,如果是静态页面或是带缓存的动态页面,所以其实消耗不了什么服务器资源,也能够让用户有一个统一的网站风格体验。
不过如果HTTP服务器返回带错误状态码,也就是Error Status为404或其他错误值,的HTTP头时,没有跟上HTML,那么Trident就会在处理WININET的结束下载事件的时候,触发外层封装的错误处理接口。如果没有特别处理的话,将会由Shdocvw来处理这个错误值,那么就会显示一个客户端的错误页面。
如果你写Trident Host程序,哪怕只是嵌入一个浏览器的应用程序比如RSS Reader,那么就可以试试替换掉自己的错误页面。记得如果你是Managed Code的话,得自己实现WebBrowser的替换才行,CodeProject上面有一个这样的用来替代WebBrowser的实现,可以参考一下。
Tag标签: IE,Trident,404 Error,404错误,宝狼技术