相关疑难解决方法(0)

Chrome说"资源被解释为脚本但是使用MIME类型text/plain传输.",是什么给出的?

在FF和所有,我的JavaScript工作正常.但在Chrome中,它会显示以下消息:

资源解释为脚本,但使用MIME类型text/plain进行传输.

我检查了所有的脚本标签,他们都有MIME type="text/javascript".它甚至用jquery和jquery ui这样说.Chrome有什么问题?

有什么问题和解决方法?这是我必须在浏览器的"选项"中更改的内容,还是来自服务器,还是我必须调整代码?

google-chrome mime-types

314
推荐指数
5
解决办法
44万
查看次数

Chrome说:"资源被解释为文档,但使用MIME类型application/vnd.openxmlformats-officedocument.wordprocessingml.document进行传输"

我正在提供一个可从我的网站下载的文件,该文件正在运行.但是,我注意到Chrome的这种行为.

我认为我有正确的MIME类型设置,但Chrome显示此消息并且还将请求标记为红色.

我设置的MIME类型是:

application/vnd.openxmlformats-officedocument.wordprocessingml.document

这是*.docx文件的预期行为吗?好像我可能做错了什么.

在此输入图像描述

google-chrome download docx mime-types

28
推荐指数
3
解决办法
8万
查看次数

正确的标题,但 Chrome 显示“资源被解释为文档”

我读了很多这样的问题,但我真的无法弄清楚......

我使用存档器表达Node.js 模块。我只想向客户端发送一个 zip 文件。我的代码大致如下:

res.set("Content-Type", "application/zip");
archive = archiver("zip", {store: true});
archive.pipe(res);
Run Code Online (Sandbox Code Playgroud)

当请求时,zip 文件被正确传输,但 Chrome 抱怨:

资源被解释为文档但使用 MIME 类型应用程序/zip 传输

如果我做了一些愚蠢的事情,比如将内容类型设置为text/json,我会得到:

资源被解释为 Document 但使用 MIME 类型 text/json 传输

很明显,我在 Node.js 中设置的内容正在完成它的工作,而其他问题就是问题所在。它说资源是用 MIME 类型 applicatioin/zip 传输的,但被解释为 Document。

我如何使它不被解释为文档?


另外,我尝试了这些设置内容类型的方法:

res.type("application/zip");
res.contentType("application/zip");
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的结果。

另一方面,Mozilla 没有抱怨任何事情。类似问题的一些答案说这个警告可以忽略。我也应该忽略它吗?问题可能是存档直接传送到响应对象吗?尽管(我再说一遍),zip 已成功发送。

编辑:

设置Content-Disposition也不起作用:

res.set({
    "Content-Type": "application/zip",
    "Content-Disposition": "attachment; filename='images.zip'"
});
Run Code Online (Sandbox Code Playgroud)

我也使用 an<iframe>来发起请求:

document.getElementById("iframe-downloader").src = requestUrl;
Run Code Online (Sandbox Code Playgroud)

原因是因为我不希望页面重定向。我能做到的唯一方法就是这样。

编辑:

更改此答案指出的Chrome …

javascript google-chrome node.js express node-archiver

5
推荐指数
1
解决办法
1万
查看次数