Mercurial > ec-userscripts
view mandarake-direct-link.user.js @ 103:b2d0b37f945f
Update mandarake script
- update download url
- remove iife
- run at document start
- use observer
- remove search link fixer (seems to be fixed already)
author | nanaya <me@nanaya.net> |
---|---|
date | Sat, 24 Dec 2022 22:10:30 +0900 |
parents | 9c8cde985caf |
children | 93e21738b588 |
line wrap: on
line source
// ==UserScript== // @name mandarake direct link // @namespace https://myconan.net // @version 2.0.0 // @description Make proper link on mandarake pages // @author nanaya // @match https://order.mandarake.co.jp/* // @match http://order.mandarake.co.jp/* // @grant none // @run-at document-start // @downloadURL https://hg.nanaya.net/ec-userscripts/raw-file/tip/mandarake-direct-link.user.js // ==/UserScript== 'use strict' const r18ConfirmLink = '#adult_confirm' function fixR18Link (link) { if (!(link instanceof window.HTMLAnchorElement) || link.getAttribute('href') !== r18ConfirmLink) return link.setAttribute('href', `/order/detailPage/item?itemCode=${link.id}`) link.removeAttribute('class') } function removeR18Mark (node) { if (node.classList.contains('r18mark')) { node.remove() return true } for (const mark of node.querySelectorAll('.r18mark')) { mark.remove() } } function onMutate (mutations) { for (const mutation of mutations) { for (const node of mutation.addedNodes) { if (node instanceof window.HTMLElement) { if (removeR18Mark(node)) continue fixR18Link(node) for (const link of node.querySelectorAll(`a[href='${r18ConfirmLink}']`)) { fixR18Link(link) } } } } } const observer = new window.MutationObserver(onMutate) observer.observe(document, { childList: true, subtree: true })