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