您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Copy entire HTML of a webpage and send it to Anki, converting relative URLs to absolute URLs. Trigger with Ctrl+Shift+Y or via Tampermonkey menu.
当前为
// ==UserScript== // @name Copy HTML to Anki // @namespace http://tampermonkey.net/ // @version 2.0 // @description Copy entire HTML of a webpage and send it to Anki, converting relative URLs to absolute URLs. Trigger with Ctrl+Shift+Y or via Tampermonkey menu. // @author nabe // @match *://*/* // @grant GM_xmlhttpRequest // @grant GM_registerMenuCommand // @connect localhost // @run-at document-end // @license MIT // ==/UserScript== (function() { 'use strict'; function copyHtmlToAnki() { // Function to convert relative URLs to absolute URLs function makeAbsolute(url) { return new URL(url, document.baseURI).href; } // Clone the document to manipulate it let docClone = document.documentElement.cloneNode(true); // Convert all relative URLs to absolute URLs let elements = docClone.querySelectorAll('[src], [href]'); elements.forEach(function(element) { if (element.hasAttribute('src')) { element.setAttribute('src', makeAbsolute(element.getAttribute('src'))); } if (element.hasAttribute('href')) { element.setAttribute('href', makeAbsolute(element.getAttribute('href'))); } }); let htmlContent = docClone.outerHTML; console.log("HTML content copied with absolute URLs:", htmlContent); GM_xmlhttpRequest({ method: "POST", url: "http://localhost:8765", data: JSON.stringify({ "action": "addNote", "version": 6, "params": { "note": { "deckName": "Default", "modelName": "htmlcard", "fields": { "HTML": htmlContent }, "tags": ["newimport"] } } }), headers: { "Content-Type": "application/json" }, onload: function(response) { console.log("Response from AnkiConnect:", response); if (response.status === 200) { console.log("HTML content sent to Anki!"); } else { alert("Failed to send content to Anki."); } } }); } // Add event listener for the keyboard shortcut (Ctrl+Shift+Y) document.addEventListener('keydown', function(event) { if (event.ctrlKey && event.shiftKey && event.code === 'KeyY') { copyHtmlToAnki(); } }); // Register the menu command to Tampermonkey menu GM_registerMenuCommand("Copy HTML to Anki", copyHtmlToAnki); })();