30 lines
1.0 KiB
JavaScript
30 lines
1.0 KiB
JavaScript
console.log("contentscript.js started!");
|
|
|
|
function extractUrlsAndFilenames() {
|
|
console.log("contentscript.js: this is extractFileUrlsAndNames()");
|
|
// get the correct frame
|
|
let frame = document.querySelector("iframe.js-mail-content");
|
|
|
|
// get all divs containing attachments
|
|
let divs = frame.contentWindow.document.body.querySelectorAll("div.samoware-mail-message__attach__item[attachment-ref]");
|
|
|
|
// loop over divs and extract attachment information
|
|
let urlsAndFilenames = []
|
|
divs.forEach(div => {
|
|
let url = div.getAttribute("attachment-ref");
|
|
let filename = div.getAttribute("file-name");
|
|
|
|
// if filename is null, derive it from url
|
|
if ( ! filename ) {
|
|
let splitUrl = url.split("/");
|
|
filename = splitUrl[splitUrl.length-1];
|
|
}
|
|
urlsAndFilenames.push({url: url, filename: filename});
|
|
})
|
|
return urlsAndFilenames;
|
|
}
|
|
|
|
const urlsAndFilenames = extractUrlsAndFilenames();
|
|
console.log(`contentscript.js: done; found ${JSON.stringify(urlsAndFilenames)}`);
|
|
urlsAndFilenames;
|