Add support to open MPV in new tab
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name EH Gallery Script
|
// @name EH Gallery Script
|
||||||
// @namespace https://github.com/lifegpc/userscript
|
// @namespace https://github.com/lifegpc/userscript
|
||||||
// @version 0.1.1
|
// @version 0.1.2
|
||||||
// @description :(
|
// @description :(
|
||||||
// @author lifegpc
|
// @author lifegpc
|
||||||
// @match https://*.e-hentai.org/g/*/*
|
// @match https://*.e-hentai.org/g/*/*
|
||||||
@@ -31,6 +31,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
const GALLERY_REG = /e[-x]hentai\.org\/g\/\d+\/[^/]+/;
|
const GALLERY_REG = /e[-x]hentai\.org\/g\/\d+\/[^/]+/;
|
||||||
const IMG_REG = /e[-x]hentai\.org\/s\/[^/]+\/\d+-\d+/;
|
const IMG_REG = /e[-x]hentai\.org\/s\/[^/]+\/\d+-\d+/;
|
||||||
|
const MPV_REG = /e[-x]hentai\.org\/mpv\/\d+\/[^/]+/;
|
||||||
GM_config.init({
|
GM_config.init({
|
||||||
id: 'e-hentai',
|
id: 'e-hentai',
|
||||||
fields: {
|
fields: {
|
||||||
@@ -43,18 +44,26 @@ GM_config.init({
|
|||||||
type: 'checkbox',
|
type: 'checkbox',
|
||||||
label: 'Open gallery in new tab.',
|
label: 'Open gallery in new tab.',
|
||||||
default: true
|
default: true
|
||||||
|
},
|
||||||
|
openMPVInNewTab: {
|
||||||
|
type: 'checkbox',
|
||||||
|
label: 'Open Multi-Page Viewer in new tab.',
|
||||||
|
default: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
events: {
|
events: {
|
||||||
save: (values) => {
|
save: (values) => {
|
||||||
let openImageInNewTab = GM_config.get("openImageInNewTab");
|
let openImageInNewTab = GM_config.get("openImageInNewTab");
|
||||||
let openGalleryInNewTab = GM_config.get("openGalleryInNewTab");
|
let openGalleryInNewTab = GM_config.get("openGalleryInNewTab");
|
||||||
|
let openMPVInNewTab = GM_config.get("openMPVInNewTab");
|
||||||
let eles = document.getElementsByTagName("a");
|
let eles = document.getElementsByTagName("a");
|
||||||
for (let ele of eles) {
|
for (let ele of eles) {
|
||||||
if (ele.href.match(IMG_REG)) {
|
if (ele.href.match(IMG_REG)) {
|
||||||
ele.target = openImageInNewTab ? '_blank' : '_self';
|
ele.target = openImageInNewTab ? '_blank' : '_self';
|
||||||
} else if (ele.href.match(GALLERY_REG)) {
|
} else if (ele.href.match(GALLERY_REG)) {
|
||||||
ele.target = openGalleryInNewTab ? '_blank' : '_self';
|
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 observer = new MutationObserver((data) => {
|
||||||
let openImageInNewTab = GM_config.get("openImageInNewTab");
|
let openImageInNewTab = GM_config.get("openImageInNewTab");
|
||||||
let openGalleryInNewTab = GM_config.get("openGalleryInNewTab");
|
let openGalleryInNewTab = GM_config.get("openGalleryInNewTab");
|
||||||
|
let openMPVInNewTab = GM_config.get("openMPVInNewTab");
|
||||||
for (let i of data) {
|
for (let i of data) {
|
||||||
let ele = i.target;
|
let ele = i.target;
|
||||||
if (ele.tagName == 'A') {
|
if (ele.tagName == 'A') {
|
||||||
@@ -71,6 +81,8 @@ let observer = new MutationObserver((data) => {
|
|||||||
ele.target = openImageInNewTab ? '_blank' : '_self';
|
ele.target = openImageInNewTab ? '_blank' : '_self';
|
||||||
} else if (ele.href.match(GALLERY_REG)) {
|
} else if (ele.href.match(GALLERY_REG)) {
|
||||||
ele.target = openGalleryInNewTab ? '_blank' : '_self';
|
ele.target = openGalleryInNewTab ? '_blank' : '_self';
|
||||||
|
} else if (ele.href.match(MPV_REG)) {
|
||||||
|
ele.target = openMPVInNewTab ? '_blank' : '_self';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user