"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 种可能的解决方案:
删除"sandbox"header。
使用<a href="http://localhost:8083/myapp/test_content" target="mmain">Click Here</a>
代替javascript(target
不一定是框架名称,可以是,例如_self
).
我尝试点击下载文件。
<!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 种可能的解决方案:
删除"sandbox"header。
使用
<a href="http://localhost:8083/myapp/test_content" target="mmain">Click Here</a>
代替javascript(target
不一定是框架名称,可以是,例如_self
).