您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add an "Open All Problems" button on the LeetCode Contest page. Note that Pop-up windows need to be allowed in the web browser.
当前为
您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
- // ==UserScript==
- // @name LeetCode Contest: Open All Problems
- // @namespace JohnZhu04
- // @match https://leetcode.com/contest/*-contest-*/
- // @grant none
- // @version 1.1
- // @author JohnZhu04
- // @license MIT
- // @supportURL https://github.com/JohnZhu04/LeetScript/issues
- // @icon https://www.google.com/s2/favicons?sz=64&domain=leetcode.com
- // @exclude https://leetcode.com/contest/*/problems/*/
- // @description Add an "Open All Problems" button on the LeetCode Contest page. Note that Pop-up windows need to be allowed in the web browser.
- // ==/UserScript==
- const openAllProblems = () => {
- const problemsClass = "ul.contest-question-list li a";
- const problems = document.querySelectorAll(problemsClass);
- // console.log(problems.length);
- problems.forEach((problem) => {
- window.open(problem.href);
- });
- };
- const main = () => {
- const whichClass = ".col-md-6";
- const buttonClass = "btn btn-default panel-hover";
- const buttonText = "Open All Problems";
- if (document.querySelector(whichClass) === null) {
- // wait for the page to load
- window.setTimeout(main, 2000);
- }
- const button = document.createElement("button");
- button.innerText = buttonText;
- button.addEventListener("click", openAllProblems);
- button.className = buttonClass;
- document.querySelector(whichClass).appendChild(button);
- };
- main();