fix: 加回 saveAs,不自动关闭 popup

This commit is contained in:
李进
2026-07-27 14:25:37 +08:00
parent 119f406a75
commit 75e0268a35
+4 -5
View File
@@ -105,20 +105,19 @@ async function exportPptx() {
setProgress(90, '正在打包...'); setProgress(90, '正在打包...');
const blob = await WebToPPT.schemaToPptxBlob(schema); const blob = await WebToPPT.schemaToPptxBlob(schema);
// 5. 下载(不弹对话框,直接下载到默认文件夹 // 5. 下载(弹出保存对话框
setProgress(95, '正在下载...'); setProgress(95, '正在下载...');
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);
const title = jsonData.source?.title || 'webpage'; const title = jsonData.source?.title || 'webpage';
const safeTitle = title.replace(/[\\/:*?"<>|]+/g, '-').replace(/\s+/g, '-').slice(0, 64) || 'webpage'; const safeTitle = title.replace(/[\\/:*?"<>|]+/g, '-').replace(/\s+/g, '-').slice(0, 64) || 'webpage';
const filename = `web-to-ppt/${safeTitle}-${Date.now()}.pptx`; const filename = `web-to-ppt/${safeTitle}-${Date.now()}.pptx`;
const downloadId = await chrome.downloads.download({ url, filename }); await chrome.downloads.download({ url, filename, saveAs: true });
// 等下载完成后再 revoke setTimeout(() => URL.revokeObjectURL(url), 60000);
setTimeout(() => URL.revokeObjectURL(url), 30000);
setProgress(100, `已导出:${filename}`); setProgress(100, `已导出:${filename}`);
setResult('success', '导出完成'); setResult('success', '导出完成');
setTimeout(() => window.close(), 1500); // 不自动关闭 popup,等用户选完保存位置
} catch (error) { } catch (error) {
setProgress(0, error.message || String(error)); setProgress(0, error.message || String(error));