您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds an "Install"- Button for library scripts. Useful to have your usercript addon open it in it's editor. (e.g. Tamper-, Violent- or Grease- monkey)
// ==UserScript== // @name Install Button for Library Scripts // @namespace http://tampermonkey.net/ // @version 0.1 // @description Adds an "Install"- Button for library scripts. Useful to have your usercript addon open it in it's editor. (e.g. Tamper-, Violent- or Grease- monkey) // @author You // @match https://greasyfork.org/de/scripts/* // @grant none // ==/UserScript== /* jshint esnext: true */ (function() { 'use strict'; const getScriptContentEl = (containerElement = document) => { return containerElement.id === "script-content" ? containerElement : containerElement.getElementById("script-content"); }; const getCurrentTabname = (containerElement = document) => { const scriptLinks = containerElement.getElementById("script-links"); const currentElements = scriptLinks ? scriptLinks.getElementsByClassName("current") : []; return currentElements.length ? (currentElements[0].textContent || "").trim() : ""; }; const getScriptVersion = (containerElement = document) => { const showVersionElements = containerElement.getElementsByClassName("script-show-version"); if (showVersionElements.length) { return Array.from(showVersionElements).map(el => el.textContent).reduce((a, b) => a + " " + b); } return ""; }; const getLibraryHref = (containerElement = document) => { const scriptContent = getScriptContentEl(); const codeElements = scriptContent ? Array.from(scriptContent.getElementsByTagName("CODE")) : []; return codeElements.map(el => { const match = /require\s(http.+?\.js)\?version/.exec(el.textContent); return match ? match[1] : null; }).find(link => link); }; if (getCurrentTabname().toLowerCase() === "info") { const scriptContentElement = getScriptContentEl(); const libraryHref = getLibraryHref(); if (scriptContentElement && libraryHref) { const installArea = Object.assign(document.createElement("DIV"), { className: "install-area" }); const installLink = Object.assign(document.createElement("A"), { className: "install-link", href: `${libraryHref.slice(0, -2)}user.js`, textContent: `Install library ${getScriptVersion()}` }); scriptContentElement.insertBefore(installArea, scriptContentElement.firstChild).appendChild(installLink); } } })();