簡體   English   中英

IE11顯示html頁面的問題

[英]IE11 issue with displaying html page

我正在將Internet Explorer版本從IE8升級到IE 11.但是在IE11上測試我們的代碼時,我們遇到了一個問題。

HTTP請求之一基本上將HTML頁面從服務器返回到客戶端。 此請求在IE8中正常工作並正確顯示網頁,但是當我們從IE11啟動該請求時,它在瀏覽器中顯示網頁的HTML源代碼。

我試圖用.html擴展名手動保存那些源代碼(在瀏覽器中顯示)並在本地啟動。 在本地啟動時正確顯示。 這意味着從服務器返回的HTML頁面是正確的,並且存在渲染問題?

這是HTTP頭請求和響應,它們在IE8和IE11中有所不同,通過Fiddler - >獲取

IE 8:

請求標題:

接受:application / x-ms-application,image / jpeg,application / xaml + xml,image / gif,image / pjpeg,application / x-ms-xbap,application / vnd.ms-excel,application / vnd.ms- powerpoint,application / msword, /

User-Agent:Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0 ; InfoPath.3; .NET4.0C; .NET4.0E)

響應標題:

內容類型:text / plain; 字符集= ISO-8859-1

IE 11:

請求標題:

接受:text / html,application / xhtml + xml, /

User-Agent:像Gecko一樣的Mozilla / 5.0(Windows NT 6.1; Trident / 7.0; rv:11.0)

響應標頭:內容類型:text / plain; 字符集= ISO-8859-1

我是這一切的新手,沒有采取下一步采取的措施。 這是否因為瀏覽器無法以正確的格式接收頁面而發生? 由於服務器動態創建頁面,更改服務器端代碼有點困難。 這有什么簡單的解決方案嗎?

提前致謝。

您的Response標頭的Content-Type顯示“text / plain”,它解釋了顯示源的原因,而不是顯示源的內容。

我相信沒有別的方法可以改變你的服務器端代碼,並在發送動態生成的頁面時將Content-Type設置為響應的“text / html”

使用Content-Type: text/plain你實際上是在告訴瀏覽器“請將其視為純文本” - 它只是遵循命令。

顯而易見的解決方法是將內容類型強制為text/html ,這應該是服務器端代碼中的一個小改動。 如果Web服務器是Apache,您可以使用mod_headers和.htaccess文件或某些vhost配置來強制執行此操作。 如果Web服務器不是Apache,您可以使用另一個帶有mod_proxy的小型Apache服務器來添加這些標頭。

我非常驚訝IE8中的'正確',可能你也在那里觸發了怪癖(兼容性)模式。 如果直接修復內容類型是不可行的,您可以嘗試通過將以下行添加到輸出的<head>部分來強制IE11在IE8模式下運行:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

然而,這是一個丑陋的解決方法,它將在Firefox,Chrome,Safari和其他符合標准的瀏覽器中保持不變,就像IE11一樣,它們只會遵循您的訂單並將內容顯示為純文本。 最后他們就像你告訴他們一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM