-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackground.js
More file actions
42 lines (41 loc) · 1.71 KB
/
Copy pathbackground.js
File metadata and controls
42 lines (41 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// background.js
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.action === 'downloadFile') {
// https://moodle.hku.hk/mod/folder/download_folder.php?id=3764675
// https://moodle.hku.hk/mod/folder/view.php?id=3764676
if (message.url.includes('/mod/folder/')) {
message.url = message.url.replace('/view.php?id=', '/download_folder.php?id=');
}
chrome.downloads.download({
url: message.url,
filename: `SuperLoad/${message.address}/${message.filename}.zip`,
saveAs: message.saveAs,
conflictAction: message.conflictAction
}, (downloadId) => {
if (chrome.runtime.lastError) {
console.error('Download error:', chrome.runtime.lastError);
} else {
console.log('Download started with ID:', downloadId);
}
});
} else if (message.action === 'downloadFiles') {
message.downloadFiles.forEach(file => {
if (file.url.includes('/mod/folder/')) {
file.url = file.url.replace('/view.php?id=', '/download_folder.php?id=');
}
chrome.downloads.download({
url: file.url,
filename: `SuperLoad/${file.address}/${file.filename}.zip`,
saveAs: message.saveAs,
conflictAction: message.conflictAction
}, (downloadId) => {
if (chrome.runtime.lastError) {
console.error('Download error:', chrome.runtime.lastError);
} else {
console.log('Download started with ID:', downloadId);
}
});
}
);
}
});