其實應該說是Shdocvw+Trident的處理流程。大多數(shù)IE核心的瀏覽器或是IE核心的嵌入瀏覽器的應用程序,都沒有替換掉Shdocvw,所以可以廣泛適用這些瀏覽器。
總的來說就是服務器端進行了處理本地就不會處理。
一般HTTP服務器的默認設置不會設置404錯誤頁面,不過大多數(shù)認真做的網(wǎng)站,都還是會做一個自己網(wǎng)站風格的404錯誤頁面,如果是靜態(tài)頁面或是帶緩存的動態(tài)頁面,所以其實消耗不了什么服務器資源,也能夠讓用戶有一個統(tǒng)一的網(wǎng)站風格體驗。
不過如果HTTP服務器返回帶錯誤狀態(tài)碼,也就是Error Status為404或其他錯誤值,的HTTP頭時,沒有跟上HTML,那么Trident就會在處理WININET的結(jié)束下載事件的時候,觸發(fā)外層封裝的錯誤處理接口。如果沒有特別處理的話,將會由Shdocvw來處理這個錯誤值,那么就會顯示一個客戶端的錯誤頁面。
如果你寫Trident Host程序,哪怕只是嵌入一個瀏覽器的應用程序比如RSS Reader,那么就可以試試替換掉自己的錯誤頁面。記得如果你是Managed Code的話,得自己實現(xiàn)WebBrowser的替換才行,CodeProject上面有一個這樣的用來替代WebBrowser的實現(xiàn),可以參考一下。
Tag標簽: IE,Trident,404 Error,404錯誤,寶狼技術(shù)