Content-Type
HTTP標頭指示資源(網頁,圖像或下載)的MIME type。對於HTML頁面,MIME類型通常爲text/html
,對於文本文件,通常是text/plain
。
服務器不發送text/plain;charset=utf-8
爲您的文本文件(如,例如,在Firebug的網板進行使用按Ctrl + F5 一個文件的硬性重新加載時顯示)。但是,與其他Web瀏覽器不同,Internet Explorer將在文件中看到HTML,並猜測服務器(Microsoft documentation)。
因爲這可能會帶來安全隱患,但Microsoft不希望冒險破壞與舊網站的向後兼容性(通過使IE的行爲與其他瀏覽器的行爲一致),Internet Explorer 8和更高版本支持X-Content-Type-Options: nosniff
標頭以禁用在這種情況下的HTML檢測。但是,在Wikispaces這樣的站點上,您可能無法選擇發送標題,並且在任何情況下,標題在Internet Explorer 6和7中都不起作用。
在Wikispaces上,它可能有意義使用所提供的源代碼格式設置功能(見wikitext help page):
[[code format="javascript"]]
alert('hello, world');
[[code]]
如果你想將代碼存儲在單獨的頁面上,你可以從人們真的應該閱讀頁面包括它(Wikispaces include help page) 。這就是所謂的transclusion:
[[include page="PAGENAME"]]
做不到這一點,一個很好的選擇可能是HTML轉義代碼(使用一些文本替換)和<pre></pre>
之間插入。然後你將上傳一個HTML文件(文件擴展名爲.htm
或.html
)。爲了解釋的目的,這裏是一個簡單的JavaScript函數,它HTML轉義:
function htmlEscape(text) {
// Absolutely necessary
text = text.replace(/&/g, '&'); // Has to go first
text = text.replace(/</g, '<');
// Not needed for your specific case, yet would be good to include
text = text.replace(/>/g, '>');
text = text.replace(/"/g, '"');
text = text.replace(/'/g, '''); // ''' is only OK in XHTML and in HTML5
return text;
}
什麼是來自您的Web服務器的「Content-Type」標頭值?這決定了瀏覽器應該如何顯示資源。 – Brad
嗨,我如何知道內容類型是什麼?我可以改變這個嗎?順便說一句,它沒有像Chrome和Firefox這樣的其他瀏覽器的問題。他們可以擁有不同的內容類型嗎? – Jenita
參見Ken的答案。正如他所建議的那樣,Fiddler是一個很好的工具,他提供了一個解釋,爲什麼它在這種情況下可能無關緊要。 – Brad