您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在Gelbooru网页上添加下载按钮直接导入Eagle,仅处理post
// ==UserScript== // @name Save Gelbooru Images to Eagle // @name:zh 导入Gelbooru图片到Eagle // @name:zh-CN 导入Gelbooru图片到Eagle // @description Save images from Gelbooru to Eagle. // @description:zh 在Gelbooru网页上添加下载按钮直接导入Eagle,仅处理post // @description:zh-CN 在Gelbooru网页上添加下载按钮直接导入Eagle,仅处理post // @namespace https://github.com/miracleXL // @homepageURL https://github.com/miracleXL/scripts-for-Eagle // @icon https://gelbooru.com/favicon.ico // @version 0.1.2 // @author miracleXL // @match gelbooru.com/index.php?page=post&s=view&id=* // @connect gelbooru.com // @connect localhost // @grant GM_xmlhttpRequest // @require https://code.jquery.com/jquery-3.5.1.min.js // ==/UserScript== (function() { 'use strict'; // 是否保存标签 const saveTags = true; const saveMetadataTags = false; // Eagle API 服务器位置 const EAGLE_SERVER_URL = "http://localhost:41595"; const EAGLE_IMPORT_API_URL = `${EAGLE_SERVER_URL}/api/item/addFromURL`; const EAGLE_IMPORT_API_URLS = `${EAGLE_SERVER_URL}/api/item/addFromURLs`; const EAGLE_CREATE_FOLDER_API_URL = `${EAGLE_SERVER_URL}/api/folder/create`; const EAGLE_GET_FOLDERS_API_URL = `${EAGLE_SERVER_URL}/api/folder/list`; const BUTTON_POS = "scrollebox"; function download(data){ GM_xmlhttpRequest({ url: EAGLE_IMPORT_API_URL, method: "POST", data: JSON.stringify(data), onload: function(response) { if(response.statusText !== "OK"){ console.log(response); alert("下载失败!") } } }); } function addButton(buttons_div){ buttons_div.append(" | "); let button = document.createElement("a"); button.innerText = "Download to Eagle"; button.href = "javascript:;"; buttons_div.appendChild(button); //绑定下载事件 button.addEventListener("click",async ()=>{ let data = getImageData(); console.log(data); download(data); }) } addButton(document.getElementById(BUTTON_POS)); function getImageData(){ let tag_list = document.getElementById("tag-list"); let url = $("li a:contains(Original image)", tag_list)[0]; let source = $("li:contains(Source: )", tag_list)[0]; let data = { "url": url.href, "name": document.title, "website": document.URL, "annotation": source?.textContent, "tags": [], "headers": { "referer" : document.URL } }; if(saveTags){ for(let tag of document.getElementsByClassName("tag-type-artist")){ data.tags.push(tag.children[1].textContent); } for(let tag of document.getElementsByClassName("tag-type-character")){ data.tags.push(tag.children[1].textContent); } if(saveMetadataTags){ for(let tag of document.getElementsByClassName("tag-type-metadata")){ data.tags.push(tag.children[1].textContent); } } for(let tag of document.getElementsByClassName("tag-type-copyright")){ data.tags.push(tag.children[1].textContent); } for(let tag of document.getElementsByClassName("tag-type-general")){ data.tags.push(tag.children[1].textContent); }; } return data; }; })();