// ==UserScript== // @name light.gg linking for DIM // @name:zh DIM 链接到 light.gg // @name:zh-CN DIM 链接到 light.gg // @namespace https://github.com/HZDeluxe // @version 0.1 // @description Add links to light.gg for DIM // @description:zh 为DIM添加light.gg链接 // @description:zh-CN 为DIM添加light.gg链接 // @author HZDeluxe // @match https://app.destinyitemmanager.com/*/d2/inventory // @match https://beta.destinyitemmanager.com/*/d2/inventory // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; let targetNode = null; const waitNode = function() { targetNode = document.querySelector('#app > .app > div:first-child'); if (!targetNode) { setTimeout(waitNode, 1000); } else { const observer = new MutationObserver(function(mutationsList) { for(const mutation of mutationsList) { if (mutation.type === 'childList' && mutation.addedNodes.length != 0 && mutation.addedNodes[0].classList.contains('item-popup')) { const itemPopup = mutation.addedNodes[0]; const addLgg = function() { if (itemPopup.querySelector('.btn-lgg')) { return; } const itemNameElm = itemPopup.querySelector('a[href^="https://destinytracker.com/"]'); const itemId = itemNameElm.href.match(/\/items\/(\d+)\?/i)[1]; const tempDiv = document.createElement('div'); tempDiv.innerHTML = ''; itemNameElm.after(tempDiv.firstChild); }; addLgg(); const subObserver = new MutationObserver(addLgg); subObserver.observe(itemPopup, { attributes: true, subTree: true }); } } }); observer.observe(targetNode, { childList: true }); } }; waitNode(); })();