您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
auto close pdd modal
// ==UserScript== // @name 自动关闭pdd商家后台弹窗 // @namespace http://tampermonkey.net/ // @version 2024-07-23 // @description auto close pdd modal // @author haoyue // @match https://mms.pinduoduo.com/** // @icon https://www.google.com/s2/favicons?sz=64&domain=pinduoduo.com // @grant none // @license // ==/UserScript== (function() { 'use strict'; // Function to check and close the modal function handleClose(modal) { const closeButton = modal.querySelectorAll('[class*="close"]')[0] if (closeButton) { closeButton.click() console.info('click close button') } else { // If no close button is found, remove the modal and the mask directly modal.remove() const mask = document.querySelector('[data-testid="beast-core-modal-mask"]') if (mask) { mask.remove() console.info('remove mask') } } } function checkModal(modal) { return modal.textContent.includes('自动跟价') || modal.textContent.includes('设置西藏包邮额度订单') } function checkAndCloseModal() { // Find the modal element const modal = document.querySelector('[data-testid="beast-core-modal"]') if (modal && checkModal(modal)) { // Check if the modal content contains the keyword console.info('出现了自动跟价') // Try to find the close button by looking for the keyword "关闭" handleClose(modal) } } // Function to observe route changes function observeRouteChanges() { const originalPushState = history.pushState const originalReplaceState = history.replaceState // Override pushState history.pushState = function () { originalPushState.apply(this, arguments) checkAndCloseModal() } // Override replaceState history.replaceState = function () { originalReplaceState.apply(this, arguments) checkAndCloseModal() } // Listen for popstate event (back/forward navigation) window.addEventListener('popstate', checkAndCloseModal) } // Function to observe DOM changes function observeDOMChanges() { const observer = new MutationObserver(mutations => { mutations.forEach(() => { checkAndCloseModal() }) }) observer.observe(document.body, { childList: true, subtree: true, }) } // Start observing route changes and DOM changes // observeRouteChanges() observeDOMChanges() // Initial check in case the modal is already present checkAndCloseModal() })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址