您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Change href to data-href and set target to _blank for specified buttons on desidime.com
// ==UserScript== // @name Modify Desidime Buttons // @namespace http://tampermonkey.net/ // @version 2.0 // @license MIT // @description Change href to data-href and set target to _blank for specified buttons on desidime.com // @author Dev Goyal // @match https://www.desidime.com/* // @grant none // ==/UserScript== function fixDesiDimeLinks() { // Select all buttons with the specified class const buttons = document.querySelectorAll('.btn-lgetdeal.home-page-get-deal.gtm-getdeal-home'); // Iterate over each button and modify the attributes buttons.forEach(button => { const dataHref = button.getAttribute('data-href'); if (dataHref) { button.setAttribute('href', dataHref); button.setAttribute('target', '_blank'); button.removeAttribute('data-href'); button.removeAttribute('data-href-alt'); } }); } // Function to handle DOM changes function handleDOMChanges(mutationsList) { for (const mutation of mutationsList) { if (mutation.type === 'attributes' && mutation.attributeName === 'href') { // Handle attribute changes (e.g., href attribute) fixDesiDimeLinks(); } else if (mutation.type === 'childList') { // Handle changes in the DOM structure (e.g., added nodes) fixDesiDimeLinks(); } } } // Wrap the MutationObserver setup inside a DOMContentLoaded event listener document.addEventListener('DOMContentLoaded', () => { // Use MutationObserver to detect changes in the document const observer = new MutationObserver(handleDOMChanges); // Observe changes in the body and its subtree observer.observe(document.body, { attributes: true, childList: true, subtree: true }); // Call fixDesiDimeLinks once when the DOM is ready fixDesiDimeLinks(); });