javascript - 在 Safari 中刷新页面后 Blob URL 更改
问题描述
我的代码是从 pdf 文件创建 blob url 并在新窗口中打开该文件。这在 Chrome、Firefox、IE 等中运行良好,但是当我尝试在 Safari blob url 更改中重新刷新页面时,显然通过该地址我什么都没有。你能帮助我吗?
我的代码如下所示:
getFile(url).then(({fileBlob}) => {
const pdfBlob = new Blob([fileBlob], {type: 'application/pdf'});
if (window.navigator?.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(pdfBlob);
} else {
const blobUrl = (URL || webkitURL).createObjectURL(pdfBlob);
const windowRef = window.open(blobUrl);
let currentWindowLifeTime = 0;
const timerId = setInterval(() => {
currentWindowLifeTime += 10000;
if (currentWindowLifeTime >= 600000|| windowRef?.closed) {
clearInterval(timerId);
(URL || webkitURL).revokeObjectURL(blobUrl);
}
}, 10000);
}
});
解决方案
推荐阅读
- spring - 请求无法执行;I/O 反应器状态:Spring Data Elasticsearch 中的 STOPPED
- java - 为什么当我更改我喜欢的价格和时间时,我的 dynamoDb 喜欢更新而不添加新的?
- javascript - 如何使用本地存储在 javascript 中制作待办事项列表
- javascript - Typeerror:name.tolowercase 在 javascript 中不起作用 - 未解决
- netbeans - 在 Netbeans 11 中输入代码时如何删除突出显示栏?
- kubernetes - GKE 自动扩缩程序“优化利用率”
- r - R:另一列的每个对应分位数的列值
- google-apps-script - 侧边栏按钮单击未捕获的异常
- vue.js - 使用 Vue.js Prop 填充 vForm 数据?
- r - 缩放生产数据