From c418e48ccde500f3899dba26af33800bdbb3f431 Mon Sep 17 00:00:00 2001 From: tumuyan Date: Wed, 22 Sep 2021 20:27:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E2=80=9C=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=E4=B8=8D=E5=8F=91=E9=9F=B3=E6=A0=87=E7=AD=BE=E2=80=9D=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manifest.json | 2 +- scripts/background.js | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index b962b99..519c533 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "name": "__MSG_name__", "short_name": "Auto Mute", "author": "Tumuyan", - "version": "0.2", + "version": "0.2.1", "update_url": "https://edge.microsoft.com/extensionwebstorebase/v1/crx", "manifest_version": 2, "minimum_chrome_version": "22.0", diff --git a/scripts/background.js b/scripts/background.js index a44cd20..80adfde 100644 --- a/scripts/background.js +++ b/scripts/background.js @@ -1,4 +1,5 @@ var tabNow = -1; +var tabActive = -1; var sw_on = true; if (localStorage['sw_on'] == 'false') @@ -11,6 +12,7 @@ if (localStorage['audible'] == 'false') sw2(sw_audible); chrome.tabs.onActivated.addListener(function (activeInfo) { + tabActive = activeInfo.tabId; console.log("onSelectionChanged: tabid-> " + activeInfo.tabId + " sw_on="+sw_on); if (!sw_on) return; @@ -22,6 +24,7 @@ chrome.tabs.onActivated.addListener(function (activeInfo) { let muted = tab.active?false:true; await chrome.tabs.update(tabId, { muted }); + // 不智能跳过,或者智能跳过但是这个页面发音 if(!sw_audible || tab.audible){ if(tabNow != tabId){ await chrome.tabs.update(tabNow, { muted:true} ); @@ -37,6 +40,16 @@ chrome.tabs.onActivated.addListener(function (activeInfo) { }); + +// 如果智能跳过,需要检查前台标签内容更新时自动发声 +chrome.tabs.onUpdated.addListener(function (id, info, tab) { + if(sw_audible && id == tabActive && id!=tabNow && tab.audible){ + chrome.tabs.update(id, { muted:false }); + chrome.tabs.update(tabNow, { muted:true} ); + tabNow = tabActive; + } +}); + function sw(sw) { sw_on = sw; localStorage['sw_on'] = sw_on;