Skip to content

Commit 9a8eaa7

Browse files
committed
update webtimer auto run
1 parent 44f0af7 commit 9a8eaa7

File tree

5 files changed

+505
-410
lines changed

5 files changed

+505
-410
lines changed

scripts/background-scripts/background_script.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -368,9 +368,9 @@ function listenMessage() {
368368
});
369369
return true;
370370
} else {
371-
let sended = false;
371+
let sent = false;
372372
let internalSendEvent = (data) => {
373-
sended = true;
373+
sent = true;
374374
sendResponse(data);
375375
};
376376
runScriptsBackground(
@@ -383,7 +383,7 @@ function listenMessage() {
383383
{ request, sender, sendResponse: internalSendEvent },
384384
true
385385
);
386-
return sended ? false : true;
386+
return !sent;
387387
}
388388
} catch (e) {
389389
console.log("ERROR:", e);

scripts/prevent_closeBrowser_lastTab.js

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,19 @@ export default {
2020
onEnable: () => {
2121
chrome.runtime.sendMessage({ action: enableEvent });
2222
},
23+
onDisable: () => {
24+
chrome.runtime.sendMessage({ action: disableEvent });
25+
},
2326
},
2427

2528
backgroundScript: {
2629
runtime: {
27-
onMessage: ({ request, sender, sendResponse }, context) => {
30+
onMessage: async ({ request, sender, sendResponse }, context) => {
2831
if (request.action === enableEvent) {
29-
handleEvent("onEnable");
32+
onEnable();
33+
}
34+
if (request.action === disableEvent) {
35+
onDisable();
3036
}
3137
},
3238
},
@@ -51,19 +57,23 @@ export default {
5157
};
5258

5359
const enableEvent = "prevent_closeBrowser_lastTab_enabled";
60+
const disableEvent = "prevent_closeBrowser_lastTab_disabled";
5461

5562
// https://chromewebstore.google.com/detail/dont-close-window-with-la/dlnpfhfhmkiebpnlllpehlmklgdggbhn
5663
// ===================== bg script context =====================
5764

58-
var newTabUrl = "chrome://newtab/";
59-
var working = false;
60-
var handling = false;
61-
var first_window_id = null;
62-
var single_new_tab = false;
63-
var new_tab_last = false;
64-
var first_window = true;
65-
var every_window = false;
66-
var debug = false;
65+
let newTabUrl = "chrome://newtab/";
66+
let working = false;
67+
let handling = false;
68+
let first_window_id = null;
69+
let pinned_tab_id = null;
70+
71+
// config
72+
let single_new_tab = false;
73+
let new_tab_last = false;
74+
let first_window = true;
75+
let every_window = false;
76+
let debug = false;
6777

6878
function isNewTabPage(url) {
6979
url = url.trim();
@@ -74,6 +84,16 @@ function isNewTabPage(url) {
7484
);
7585
}
7686

87+
async function onEnable() {
88+
first_window_id = null;
89+
pinned_tab_id = null;
90+
await handleEvent("onEnable");
91+
}
92+
93+
async function onDisable() {
94+
if (pinned_tab_id) await chrome.tabs.remove(pinned_tab_id);
95+
}
96+
7797
async function handleEvent(type) {
7898
if (handling) return;
7999
handling = true;
@@ -134,13 +154,14 @@ async function handleEvent(type) {
134154
working = true;
135155
if (debug) console.log("creating pinned tab");
136156
try {
137-
await chrome.tabs.create({
157+
let tab = await chrome.tabs.create({
138158
windowId: win.id,
139159
index: 0,
140160
pinned: true,
141161
active: false,
142162
url: newTabUrl,
143163
});
164+
pinned_tab_id = tab.id;
144165
first_window_id = win.id;
145166
wasWorking = true;
146167
} catch (error) {
@@ -190,6 +211,7 @@ async function handleEvent(type) {
190211
if (debug) console.log("removing pinned tab 1");
191212
try {
192213
await chrome.tabs.remove(pinnedTabs[0].id);
214+
pinned_tab_id = null;
193215
wasWorking = true;
194216
} catch (error) {
195217
setTimeout(function () {

scripts/smoothScroll.js

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ export default {
66
},
77
description: {
88
en: "Scroll smoothly on all websites with your mouse and keyboard.<br/>Smooth like when you scroll this extension.",
9-
vi: "Cuộn chuột siêu mượt cho tất cả website.<br/>Mượt như khi cuộn chuột trong extension này vậy.",
10-
img: "",
9+
vi: "Cuộn chuột siêu mượt cho mọi trang web.<br/>Mượt như khi cuộn chuột trong extension này vậy.",
1110
},
1211

1312
changeLogs: {
@@ -20,31 +19,36 @@ export default {
2019
const { t } = await import("../popup/helpers/lang.js");
2120
const { runScriptInTab } = await import("./helpers/utils.js");
2221
chrome.tabs.query({}, async (tabs) => {
22+
let count = 0;
2323
for (let tab of tabs) {
24-
await runScriptInTab({
25-
target: {
26-
tabId: tab.id,
27-
allFrames: true,
28-
},
29-
func: run,
30-
world: "ISOLATED",
31-
});
24+
try {
25+
await runScriptInTab({
26+
target: {
27+
tabId: tab.id,
28+
allFrames: true,
29+
},
30+
func: run,
31+
world: "ISOLATED",
32+
});
33+
count++;
34+
} catch (e) {}
3235
}
33-
Swal.fire({
34-
icon: "success",
35-
title: t({
36-
vi: "Đã bật Cuộn chuột Siêu mượt",
37-
en: "Super smooth scroll enabled",
38-
}),
39-
html: t({
40-
vi:
41-
`Đã tự BẬT cho ${tabs.length} tab đang mở<br/><br/>` +
42-
"Bạn có thể dùng ngay không cần tải lại trang.",
43-
en:
44-
`Enabled smooth scroll for ${tabs.length} tabs<br/><br/>` +
45-
"Dont need to reload websites.",
46-
}),
47-
});
36+
if (count)
37+
Swal.fire({
38+
icon: "success",
39+
title: t({
40+
vi: "Đã bật Cuộn chuột Siêu mượt",
41+
en: "Super smooth scroll enabled",
42+
}),
43+
html: t({
44+
vi:
45+
`Đã tự BẬT cho ${count} tab đang mở<br/><br/>` +
46+
"Bạn có thể dùng ngay không cần tải lại trang.",
47+
en:
48+
`Enabled smooth scroll for ${count} opening tabs<br/><br/>` +
49+
"Dont need to reload websites.",
50+
}),
51+
});
4852
});
4953
},
5054
onDisable: async () => {
@@ -74,7 +78,7 @@ export default {
7478
`Đã tự TẮT cho ${tabs.length} tab đang mở<br/><br/>` +
7579
"Không cần tải lại trang.",
7680
en:
77-
`Disabled smooth scroll for ${tabs.length} tabs<br/><br/>` +
81+
`Disabled smooth scroll for ${tabs.length} opening tabs<br/><br/>` +
7882
"Dont need to reload websites.",
7983
}),
8084
});

0 commit comments

Comments
 (0)