diff --git a/userscripts/pixiv-ai-notifier.user.js b/userscripts/pixiv-ai-notifier.user.js index 55c05c7..8bc9a9d 100644 --- a/userscripts/pixiv-ai-notifier.user.js +++ b/userscripts/pixiv-ai-notifier.user.js @@ -2,10 +2,10 @@ // @name AI notifier for Pixiv // @description Notify you when an AI artwork is detected (through tags) on Pixiv // @namespace tretrauit-dev -// @match *://www.pixiv.net/*/artworks/* +// @match *://www.pixiv.net/* // @icon https://upload.wikimedia.org/wikipedia/commons/7/7e/Pixiv_Icon.svg // @grant none -// @version 1.0.1 +// @version 1.0.2 // @author tretrauit // @run-at document-idle // @homepageURL https://gitlab.com/tretrauit/scripts @@ -13,8 +13,10 @@ // @downloadURL https://git.tretrauit.me/tretrauit/scripts/raw/branch/main/userscripts/pixiv-ai-notifier.user.js // ==/UserScript== -console.log("AI notifier for Pixiv is running..."); -setTimeout(() => { +function checkAI() { + if (!window.location.pathname.includes("/artworks/")) { + return; + } const tagElms = document.querySelectorAll(".gtm-new-work-tag-event-click"); for (const elm of tagElms) { if (elm.parentElement.parentElement.textContent.toLowerCase().includes("ai")) { @@ -22,4 +24,22 @@ setTimeout(() => { break; } } -}, 1000); \ No newline at end of file +} + +// Stack Overflow thingy +let previousUrl = ""; + +const observer = new MutationObserver(() => { + if (window.location.href !== previousUrl) { + console.log(`URL changed from ${previousUrl} to ${window.location.href}`); + previousUrl = window.location.href; + // do your thing + setTimeout(checkAI, 1000); + } +}); +const config = { subtree: true, childList: true }; + +// start observing change +console.log("AI notifier for Pixiv is running..."); +observer.observe(document, config); +setTimeout(checkAI, 1000); \ No newline at end of file