您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Uses a button to add multiple cards at once on Quizlet, instead of having to click the add button for each card individually.
// ==UserScript== // @name Add Cards on Quizlet // @namespace https://gf.qytechs.cn/en/scripts/448702-automatically-add-cards-on-quizlet // @version 1.5.0 // @description Uses a button to add multiple cards at once on Quizlet, instead of having to click the add button for each card individually. // @author Andriani Perez // @match https://quizlet.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=quizlet.com // @grant none // Chrome extension: https://chromewebstore.google.com/detail/multi-card-add-for-quizle/kjcpipbleckofommimigmbehkmpjdahg // ==/UserScript== function sleep(milliseconds) { return new Promise((resolve) => setTimeout(resolve, milliseconds)); } function updateAddCardButton(className, index) { let addcard = document.querySelector( `div.${className} [data-term-luid="${index}"]` ); return addcard; } // List of studiable items are all the flash cards and appending makes it go to the very end of that list function getStudiableItems() { let studiableItems = document.querySelector("div.StudiableItems"); console.log(studiableItems); return studiableItems; } function AddCardsElement(endOfStudiableItems) { // Create button var multiAddContainer = document.createElement("div"); //Give class to match other cards styling multiAddContainer.className = "TermContent-inner AssemblyButtonBase--xlarge AssemblyButtonBase--padding "; multiAddContainer.style = "margin-top: 1rem; margin-bottmom: 4rem; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 1rem; cursor: default; height: 5rem;"; endOfStudiableItems.appendChild(multiAddContainer); // Button/Label var multiAddButton = document.createElement("label"); multiAddButton.innerText = "+ Multi-Add Cards"; multiAddButton.className = "UILinkButton"; multiAddButton.draggable = false; multiAddButton.id = "multiAddButton"; multiAddContainer.appendChild(multiAddButton); // INPUT var multiAddInput = document.createElement("input"); multiAddInput.className = "RichTextEditor ProseMirror PMEditor lang-en ugck83a notranslate pc1cm7j"; multiAddInput.id = "multiAddInput"; multiAddInput.style = "border: none; background:transparent; border-bottom: 0.275rem solid white; justify-content:center; outline: none; height: 2.25rem;"; multiAddInput.placeholder = "# of cards to add"; // Create a style element var style = document.createElement("style"); // Define the CSS rule for the placeholder var placeholderStyles = ` #multiAddInput::placeholder { color: grey; /* Example: Change the color */ opacity: 0.7 font-style: italic; /* Example: Make it italic */ /* Add any other desired styles here */ ; } #multi `; document.head.appendChild(style); // Append the CSS rule to the style element style.appendChild(document.createTextNode(placeholderStyles)); // Append the style element to the head of the document multiAddContainer.appendChild(multiAddInput); return multiAddButton; } function getMultiAddButton() { return document.getElementById("multiAddButton"); } function getMultiInputvalue(getElementById) { let multiAddInput = document.getElementById(getElementById); return multiAddInput.value; } function addRow() { return document.getElementById("addRow"); } window.onload = function () { let endOfStudiableItems = getStudiableItems(); AddCardsElement(endOfStudiableItems); let multiAddButton = getMultiAddButton(); multiAddButton.addEventListener("click", async function () { let numberOfCardsRequested = getMultiInputvalue("multiAddInput"); for (var i = 0; i < numberOfCardsRequested; i++) { addRow().click(); await sleep(1); } }); };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址