Added fddl.js
This commit is contained in:
parent
31620866b8
commit
d6241d8013
68
fddl.js
Normal file
68
fddl.js
Normal file
@ -0,0 +1,68 @@
|
||||
document.body.appendChild(
|
||||
Object.assign(document.createElement('div'),
|
||||
{style: 'position:fixed;bottom:0;left:0;',
|
||||
innerHTML:
|
||||
`
|
||||
<div style="background: purple; height: 200px; width: 300px;">
|
||||
<a id="myDownloader" style="color: white;" href="" download>myDownloader</a>
|
||||
<div>
|
||||
<input id="sharedClass" placeholder="shared class"></input>
|
||||
</div>
|
||||
<div>
|
||||
<input id="imageClass" placeholder="viewed image class"></input>
|
||||
</div>
|
||||
<div>
|
||||
<button id="caller">Execute</button>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
}));
|
||||
function collectLinkOwners(myDownloader, sharedClass) {
|
||||
let r = [];
|
||||
for (i of document.getElementsByClassName(sharedClass)) {
|
||||
try {
|
||||
var linkOwner = i.getElementsByTagName("a")[0];
|
||||
} catch (err) {
|
||||
console.error("Missing 'a' subelement. However, this might be normal.");
|
||||
}
|
||||
r.push(linkOwner);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
function download(myDownloader, imageClass, linkOwners) {
|
||||
var linkOwner = linkOwners.shift();
|
||||
linkOwner.click();
|
||||
requestAnimationFrame(async (myDownloader, imageClass, linkOwners) => {
|
||||
await new Promise(resolve => setTimeout(resolve, 5000));
|
||||
try { // image
|
||||
myDownloader.href = document.getElementsByClassName(imageClass)[0].src;
|
||||
} catch (err) { // video
|
||||
let flag = false;
|
||||
for (i of document.getElementsByTagName('video')){
|
||||
if(i.offsetParent != null) {
|
||||
myDownloader.href = i.src;
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!flag) {
|
||||
console.error("Missing media.");
|
||||
}
|
||||
}
|
||||
//myDownloader.click();
|
||||
console.log(myDownloader.href);
|
||||
download(myDownloader, imageClass, linkOwners);
|
||||
}, myDownloader, imageClass, linkOwners);
|
||||
}
|
||||
function execute() {
|
||||
const myDownloader = document.getElementById("myDownloader");
|
||||
const sharedClass = document.getElementById("sharedClass").value;
|
||||
const imageClass = document.getElementById("imageClass").value;
|
||||
|
||||
if (sharedClass == "" || imageClass == "") {
|
||||
throw "Empty fields!";
|
||||
}
|
||||
|
||||
download(myDownloader, imageClass, collectLinkOwners(myDownloader, sharedClass));
|
||||
}
|
||||
document.getElementById("caller").addEventListener("click", execute);
|
Loading…
x
Reference in New Issue
Block a user