就像标题所问的,一直没搞清这个问题,先多谢各位回答者了.
windows.open()是指再新窗口打开
open()为浏览器的方法,基本上都支持
至于下载还是预览,那肯定是要看你的浏览器是否支持此格式在线预览,如链接,图片,视频这些常见格式可直接预览;像psd,zip等格式肯定是下载了
也可以用 URL.createObjectURL
创建一个预览url对象。即便本身是下载文件,也可以自己获取二进制流再预览。
例如:
fetch('url')
.then(response=>response.blob)
.then(blob=>{
let url = URL.createObjectURL(blob);
window.open(url);
// 删除引用资源
URL.revokeObjectURL(url);
})
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
主要看目标 url 的 header,如果能解析且没有标记为 attachment,都会打开,不然就是下载。