Directly download image from zerochan.net

Downloads image when you click to download icon on zerochan.net.

目前为 2022-11-08 提交的版本。查看 最新版本

// ==UserScript==
// @name        Directly download image from zerochan.net
// @namespace   https://myanimelist.net/profile/kyoyatempest
// @match       https://static.zerochan.net/*
// @match       https://www.zerochan.net/*
// @version     1.7
// @author      kyoyacchi
// @description Downloads image when you click to download icon on zerochan.net.
// @license     none
// @icon        https://www.google.com/s2/favicons?domain=zerochan.net
// ==/UserScript==


window.onload = function (){
  let static = window.location.href.split("/")[2]
if (static == "static.zerochan.net"){

let isim = window.location.href.split("/")[3] || "zerochan.png"
 downloadImage(window.location.href,isim)
  console.log(`downloaded image: ${isim}`)


function  toDataURL(url) {
    return fetch(url).then((response) => {
            return response.blob();
        }).then(blob => {
            return URL.createObjectURL(blob);
        });
  }

  async function downloadImage(url,isimcik) {
        const a = document.createElement("a");
        a.href = await toDataURL(url);
        a.download = isimcik
        document.body.appendChild(a);
        a.click();
        document.body.removeChild(a);
  }

  // https://stackoverflow.com/a/56041756/19276081
} else if (static == "www.zerochan.net") {
  //console.log(window.location.href + " adresindesiniz.")
//let buton = document.querySelector(".download-button")
let buton = document.getElementsByClassName("download-button")[0]

///
function  toDataURL(url) {
    return fetch(url).then((response) => {
            return response.blob();
        }).then(blob => {
            return URL.createObjectURL(blob);
        });
  }

  async function downloadImage(url,isimcik) {
        const a = document.createElement("a");
        a.href = await toDataURL(url);
        a.download = isimcik
        document.body.appendChild(a);
        a.click();
        document.body.removeChild(a);
  }
/////

let link = buton.href
let yedek = []
yedek.push(link)
  let name = link.split("/")[3] || "zerochan.png"
//  console.log(name)
  yedek.push(name)

buton.removeAttribute("href")

buton.addEventListener("click", function(e) {
downloadImage(yedek[0],yedek[1])
//console.log("Someone clicked to download button")
}, false);

}
}