From f43c0f8daffb35254b31ad89f3521338c58c03c3 Mon Sep 17 00:00:00 2001 From: lifegpc Date: Mon, 27 Feb 2023 12:26:56 +0800 Subject: [PATCH] Add support to open MPV in new tab --- eh_gallery_script.user.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/eh_gallery_script.user.js b/eh_gallery_script.user.js index 1c8a5cc..a889227 100644 --- a/eh_gallery_script.user.js +++ b/eh_gallery_script.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name EH Gallery Script // @namespace https://github.com/lifegpc/userscript -// @version 0.1.1 +// @version 0.1.2 // @description :( // @author lifegpc // @match https://*.e-hentai.org/g/*/* @@ -31,6 +31,7 @@ // ==/UserScript== const GALLERY_REG = /e[-x]hentai\.org\/g\/\d+\/[^/]+/; const IMG_REG = /e[-x]hentai\.org\/s\/[^/]+\/\d+-\d+/; +const MPV_REG = /e[-x]hentai\.org\/mpv\/\d+\/[^/]+/; GM_config.init({ id: 'e-hentai', fields: { @@ -43,18 +44,26 @@ GM_config.init({ type: 'checkbox', label: 'Open gallery in new tab.', default: true + }, + openMPVInNewTab: { + type: 'checkbox', + label: 'Open Multi-Page Viewer in new tab.', + default: true } }, events: { save: (values) => { let openImageInNewTab = GM_config.get("openImageInNewTab"); let openGalleryInNewTab = GM_config.get("openGalleryInNewTab"); + let openMPVInNewTab = GM_config.get("openMPVInNewTab"); let eles = document.getElementsByTagName("a"); for (let ele of eles) { if (ele.href.match(IMG_REG)) { ele.target = openImageInNewTab ? '_blank' : '_self'; } else if (ele.href.match(GALLERY_REG)) { ele.target = openGalleryInNewTab ? '_blank' : '_self'; + } else if (ele.href.match(MPV_REG)) { + ele.target = openMPVInNewTab ? '_blank' : '_self'; } } } @@ -64,6 +73,7 @@ GM_registerMenuCommand("Edit Settings", () => { GM_config.open() }, "e"); let observer = new MutationObserver((data) => { let openImageInNewTab = GM_config.get("openImageInNewTab"); let openGalleryInNewTab = GM_config.get("openGalleryInNewTab"); + let openMPVInNewTab = GM_config.get("openMPVInNewTab"); for (let i of data) { let ele = i.target; if (ele.tagName == 'A') { @@ -71,6 +81,8 @@ let observer = new MutationObserver((data) => { ele.target = openImageInNewTab ? '_blank' : '_self'; } else if (ele.href.match(GALLERY_REG)) { ele.target = openGalleryInNewTab ? '_blank' : '_self'; + } else if (ele.href.match(MPV_REG)) { + ele.target = openMPVInNewTab ? '_blank' : '_self'; } } }