"Save as" 当页面加载为 "sandbox" 时,IE11 中不显示对话框

"Save as" dialog is not shown in IE11 when page is loaded as "sandbox"

我尝试点击下载文件。

<!DOCTYPE html>
<html>
<body>
<a onclick="handler()">Click Here</a>
<iframe id="mmain" name="mmain" height="400" width="400"></iframe>
<script>
function handler() {
document.getElementById("mmain").src = "http://localhost:8083/myapp/test_content";
}
</script>
</body>
</html>

test_content 由以下 headers 生成:

 response.setHeader("Content-Type", "text/plain");
 response.setHeader("Content-Disposition", "attachment");
 response.setHeader("X-Content-Security-Policy", "sandbox;");

但是,IE11 中未显示“另存为”对话框(在 Chrome 和 Firefox 中正常工作)。

有 2 种可能的解决方案:

  1. 删除"sandbox"header。

  2. 使用<a href="http://localhost:8083/myapp/test_content" target="mmain">Click Here</a>代替javascript(target不一定是框架名称,可以是,例如_self ).