From 0b1148e6ea97e93fdef16b8e4c1a4f6c95003459 Mon Sep 17 00:00:00 2001 From: Allen Date: Sun, 18 May 2025 23:59:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93webview=E5=86=85=E9=83=A8=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E4=BA=86window.close()=E5=87=BD=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E4=BA=86=E5=BD=93=E5=89=8D=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=B9=9F=E9=9C=80=E8=A6=81=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=9A=84tab=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/index.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c67a90b..64ccd00 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "china-telecom-app", "productName": "china-telecom-app", - "version": "1.1.0", + "version": "1.1.1", "description": "China Telecom App", "main": ".vite/build/main.js", "scripts": { diff --git a/src/index.ts b/src/index.ts index 2dfac4b..64cafe3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -155,7 +155,9 @@ async function addTabAsync(tabGroup: TabGroup, menuItem: MenuItem, allowCloseTab const webview: Electron.WebviewTag = tab.webview as Electron.WebviewTag; listenWebviewTitleChange(webview, tab); + // 监听 webview 的 DOM 加载完成事件 tab.once('webview-dom-ready', () => { + // 设置 webview 的缩放比例 const webview: Electron.WebviewTag = tab.webview as Electron.WebviewTag; const defaultZoomFactor: number = webview.getZoomFactor(); console.log('Default zoom factor:', defaultZoomFactor); @@ -166,6 +168,18 @@ async function addTabAsync(tabGroup: TabGroup, menuItem: MenuItem, allowCloseTab } else { console.log('Default zoom factor is the same as the zoom factor:', zoomFactor); } + + // 监听 webview 的关闭事件 + webview.addEventListener('destroyed', (_event: Event) => { + console.log('Webview destroyed, closing tab:', tab.title); + tab.close(true); + }); + + // 监听 webview 的关闭事件(当页面调用 window.close() 时触发) + webview.addEventListener('close', (_event: Event) => { + console.log('Webview close event triggered, closing tab:', tab.title); + tab.close(true); + }); }); } });