您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Remove all popup in FreeCodeCamp
- // ==UserScript==
- // @name FreeCodeCamp No Pop-up
- // @name:vi FreeCodeCamp Không Phiền Phức
- // @namespace https://lelinhtinh.github.io
- // @description Remove all popup in FreeCodeCamp
- // @description:vi Xóa các bảng xác nhận trên FreeCodeCamp
- // @version 1.0.0
- // @icon https://www.freecodecamp.org/icons/icon-72x72.png
- // @author lelinhtinh
- // @oujs:author baivong
- // @license MIT; https://baivong.mit-license.org/license.txt
- // @match https://www.freecodecamp.org/learn/*
- // @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js?v=a834d46
- // @noframes
- // @supportURL https://github.com/lelinhtinh/Userscript/issues
- // @grant GM_addStyle
- // ==/UserScript==
- GM_addStyle(`[role="dialog"]:not([class]) {
- visibility: hidden;
- pointer-events: none;
- }`);
- const targetNode = document.body;
- const observerOptions = {
- childList: false,
- attributes: true,
- };
- const removePopup = () => {
- const $submit = document.querySelector('.modal button:not(.close,.confirm-donation-btn)');
- if ($submit) $submit.click();
- };
- const watchBody = (mutationList, observer) => {
- mutationList.forEach((mutation) => {
- if (mutation.type !== 'attributes') return;
- if (mutation.attributeName === 'class' && targetNode.classList.contains('modal-open')) removePopup();
- });
- };
- const observer = new MutationObserver(removePopup);
- observer.observe(targetNode, observerOptions);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址