您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
So you no longer needs to click into every updated plugin for the download links.
当前为
- // ==UserScript==
- // @name Add Download Button to TC4Shell.com 7-Zip Plugins Page
- // @description So you no longer needs to click into every updated plugin for the download links.
- // @namespace RainSlide
- // @author RainSlide
- // @match *://www.tc4shell.com/en/7zip/
- // @match *://www.tc4shell.com/ru/7zip/
- // @version 1.1
- // @grant none
- // ==/UserScript==
- const plugins = document.querySelectorAll('#content a');
- if (plugins.length > 0) {
- document.head.appendChild(
- Object.assign(
- document.createElement("style"), {
- textContent: `
- #content h1 ~ div > h2 {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- }
- .button_download_small {
- padding: .5em;
- height: 2em;
- line-height: 1;
- font-family: inherit;
- font-size: smaller;
- background-color: #e84c3d;
- }
- .button_download_small:hover {
- background-color: #ff605f;
- }
- `.trim()
- }
- )
- );
- // const pageURL = location.origin + location.pathname;
- const pageURL = new URL("./", location).href;
- const match = (x, arr) => arr.some( y => y === x );
- plugins.forEach(
- plugin => {
- const parent = plugin.parentNode;
- if (
- plugin.href.replace(/[^/]+\/$/, "") === pageURL &&
- match(parent.tagName, ["H2", "P"])
- ) {
- let filename = plugin.textContent.split(" ", 1)[0];
- const href = "/binary/" + (
- match(parent.tagName, ["Asar7z", "Lzip7z"])
- ? filename.replace(/7z$/, "")
- : filename
- ) + ".zip";
- const download = Object.assign(
- document.createElement("a"), {
- href, download: "", textContent: "Download"
- }
- );
- if (parent.tagName === "H2") {
- download.className = "button button_download_small";
- plugin.after(download);
- } else if (parent.tagName === "P") {
- plugin.after(" (", download, ")");
- }
- }
- }
- );
- }