您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Make categories under "Everything Else" in Budgets page open correct URL when middle-clicked.
- // ==UserScript==
- // @name Mint.com "Everything Else" budgets links fix-up
- // @namespace com.roastedporksteambuns.mint
- // @version 0.1
- // @description Make categories under "Everything Else" in Budgets page open correct URL when middle-clicked.
- // @author RoastedPorkSteamBuns
- // @match https://mint.intuit.com/planning.event
- // @grant none
- // ==/UserScript==
- (function() {
- "use strict";
- function fixHyperlink(hyperlink) {
- hyperlink.href = hyperlink.href.replace("category=:", "category:");
- }
- function attachEEListMutationObserver(target) {
- var observerConfig = {
- attributes: true,
- attributeFilter: ["href"],
- subtree: true
- };
- var observer = new MutationObserver(function(mutations) {
- var hyperlinks = [];
- mutations.forEach(function(mutation) {
- hyperlinks.push(mutation.target);
- });
- if (hyperlinks.length > 0) {
- // Temporarily disconnect the observer to avoid recursive notification.
- observer.disconnect();
- hyperlinks.forEach(function(hyperlink) {
- fixHyperlink(hyperlink);
- });
- observer.observe(target, observerConfig);
- }
- });
- observer.observe(target, observerConfig);
- }
- (function waitForEEList() {
- // Wait for Everything Else list to appear.
- var target = document.querySelector('#spendingEE-list-body');
- if (target === null) {
- setTimeout(waitForEEList, 1000);
- return;
- }
- // Fix-up any already added children.
- jQuery(target).find('a').each(function(_, hyperlink) {
- fixHyperlink(hyperlink);
- });
- // Observe for and fix-up any children added in future.
- attachEEListMutationObserver(target);
- })();
- })();