是否可以使用 JavaScript 动态设置 iFrame 的 MIME 类型?对 DIV 有同样的问题吗?
2 回答
不。
MIME 类型由您加载到其中的内容决定。
对于任何src
指定的框架。
Div 不加载外部内容,因此没有 MIME 类型。
我可能有你需要的答案。虽然我们的目的可能不同。
我花了几天时间尝试为iframe指定MIME 类型,因为我使用 iframe 将文本数据包含到我的 .htm 程序中。如果文本数据扩展文件名不是 .txt,那么我的 Web 浏览器会意外地将其保存到本地磁盘,而不是出现在myIframeElement.contentDocument.lastChild.innerText中。<=== 问题!!
我终于知道解决问题的知识是:指定iframe MIME类型的是Web服务器而不是客户端浏览器!我曾经使用 python 本地 Web 服务器 oneliner
python -m SimpleHTTPServer 8888
,或者python -m http.server 8888
它们都对我的数据文件的专有扩展名错误地响应了某种 MIME 类型。
我的解决方案只是使用另一个本地 Web 服务器。Github 上的这个非常简短的解决方案对我来说很好, Node.js 的本地 Web 服务器。您可以查看源代码以了解其工作原理,
response.writeHead(200);
response.write(file, "binary");
response.end();
...并在此处修改为您想要的案例的 MIME 类型。
运行此 Node.js 本地 Web 服务器 (Windows) 的示例:d:\>node.exe static_server.js
我希望这会有所帮助!