gpt4 book ai didi

html - IE9、Opera 和旧版 Safari 尝试将我的 Node.js 服务器托管站点作为文件下载?

转载 作者:行者123 更新时间:2023-11-28 18:30:38 25 4
gpt4 key购买 nike

我……我完全被难住了。这对我来说完全没有意义。

现在,我是 HTML5、CSS 和 Javascript 的新手,但我觉得我已经使用 Node.js 制作了一个不错的(未完成的)网站设计和一个漂亮、简单的(未完成的)服务器程序。问题是……它不会在 IE9、Opera 或 Safari 5.0.6 或许多其他旧版浏览器中呈现;相反,它只是尝试将网站下载为没有扩展名的文件。但它适用于 Chrome、Firefox 和 Safari 5.1.7。 (我没有测试过其他浏览器。)

就故障排除而言,我什至不知道从哪里开始,我希望这里有人能帮助我。
希望它与我的服务器配置或代码以及我的错误有关。

来源 -
服务器:http://pastebin.com/vzGnWfgr
HTML: http://pastebin.com/CvPBhmPa
CSS(如有必要):http://pastebin.com/WSAKxqxD

我的网站现在也已在我的服务器上运行:http://test.kdude63.com/

此外,如果有任何不同,我在我的服务器上运行 Ubuntu Server 12.04 LTS。

最佳答案

您的 HTTP 响应中的内容类型(MIME 类型)未定义,当我运行 wireshark 跟踪并查看您的服务器的 200 响应时,我可以看到这一点。如果我去http://test.kdude63.com/index.html ,歌剧工作正常,因为它以前没有,并且内容类型在响应中指定。这向我表明对您的主索引页面的处理有问题。

Chrome 和 firefox 似乎默认将这种未定义的数据处理为 text/html,这就是为什么它们在显示页面时没有问题。

另外,我看到您的 case 语句有一个 bool 表达式,这是不允许的,并且会导致任何扩展名为 .htm 的页面出现与此相同的问题。改变这个:

case '.html' || '.htm':
contentType = 'text/html';
break;

为此:

case '.html':
case '.htm':
contentType = 'text/html';
break;

关于html - IE9、Opera 和旧版 Safari 尝试将我的 Node.js 服务器托管站点作为文件下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14471107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com