簡體   English   中英

默認響應 Content-Type 有問題

[英]Having an issue with the default response Content-Type

我有一個具有以下 Doctype 的網站:

<!DOCTYPE HTML>
<html>...</htm>

我發現了一個導致某些移動瀏覽器崩潰的問題(黑莓和舊機器人)。 例如,在 Android 上,當發出請求時,它會發送此 header:

Accept: application/xml,appliation/xhtml+xml,text/html ...

問題是我的網站不符合 XHTML 但 IIS 決定,既然請求頁面的瀏覽器更喜歡 xhtml 那么它應該提供它而不是text/html

我嘗試通過將<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8">添加到頁面來覆蓋它,但它不起作用。

我試圖找出告訴 iis 停止為對http://mydomain.com/mobile的所有請求提供 xhtml 的最簡單方法。 我正在考慮通過覆蓋 HttpModule 中的 Response.Content-Type 來做到這一點。

我在這里有什么遺漏嗎? 修復它的最佳方法是什么?

IIS 沒有您提到的功能(從.NET覆蓋 output 的內容類型),因為這取決於應用程序來執行此操作。 手機“壞”時會發生什么,您能否提供 HTTP 調試跟蹤?

要測試 ContentType 是否真的是問題所在,請將其添加到您的一個頁面的 Page_Load 事件中,然后在受影響的移動設備上查看該頁面。

Response.ContentType = "text/html";

移動瀏覽器對桌面版本有一些怪癖,它們解析 JavaScript,以不同方式處理 DOM 元素。 例如,Mobile Safari 有一個不完整的 Date.parse() 方法,這會導致 JS 在該頁面上中斷。

嘗試在調試模式下運行移動瀏覽器(如果可能),看看實際錯誤是什么。 因為我看不出 IIS 如何隨意更改內容類型,尤其是更改為 XHTML 類型,這意味着底層 HTML 必須是完美的,

嘗試將您的 DOCTYPE 設置為<.DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4:01 Transitional//EN" "http.//www.w3.org/TR/html4/loose.dtd">看看是否這有幫助。 另外,請查看以下參考:

W3C 推薦的 Doctype 聲明列表

暫無
暫無

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

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