autoconfig
cgi
cross_compile
flex
.gitignore
1st_day_of_month.cpp
alternatice_bracket.c
ascii_injection.py
ascii_nn_input_helper.py
bind_test.sh
blumba.html
bootrap.html
brython_hw.html
c.php
c_old_argument_notation.c
cnn.c
comp.c
conditional_const.c
const.c
cpp_regex_error.cpp
current_year.cpp
dda2.cpp
dog.jpg
dog2.jpg
dpt.py
dropdown.html
else_while.c
example.m4
extension_cut.Makefile
fddl.js
fizzbuzz.f90
for_ctags.cpp
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
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);
|