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