 |
 |
 |
Userscript index, For non-HV scripts |
|
Jun 19 2023, 23:26
|
Mayriad
Group: Global Mods
Posts: 2,061
Joined: 18-December 10

|
QUOTE(romanicyte @ May 29 2023, 03:43)  I asked Mayriad to make a script for me some time ago, so I thought about sharing it. By her own words "It gives the count after the "Showing X - X of X images" message if there is at least one GIF". It also highlights which thumbnails are GIFs. Description: Highlight GIF thumbnails by border and mention a count. [ gist.github.com] EH Gallery GIF IndicatorI will eventually add it to my master script, but I will add it to the index for now. QUOTE(Justlookingfortheway @ May 31 2023, 16:12)  Is there a script for double page viewing in mpv? I just want to read manga like they were printed and no more double page splits.
This is impossible since the site cannot determine what pages should be next to each other to look like a correct book. Even if you don't care about the correct pairing of pages, the MPV is complicated and there is no good solution; my master script has an experimental feature for this, but it is random and I made it for fun. QUOTE(cillywillyboy @ Jun 13 2023, 15:55)  Are there any script that gives you a "random" gallery button on your favorites?? Nhentai have this and its one of the few features I wish we also had here.
A nice random button is impossible if you are talking about favourites, because the gid search Cipher-kun mentioned is not supported there. Only a very dumb solution that saves all links in advance is doable. QUOTE(cillywillyboy @ Jun 14 2023, 06:18)  How about 1 button to go directly to read-mode without having to go in the gallery and click the first image? I'm asking because some works I'd rather not spoil myself with the first 5 images on the frontpage of the gallery view.
This is also impossible if you want to go straight to the standard single page viewer instead of MPV, because you cannot know the URL of the first page before entering the gallery. However, if you want to go straight to the MPV, my script already has a feature for this.
|
|
|
|
 |
|
Jun 20 2023, 02:35
|
Anusinspectorr
Newcomer
  Group: Members
Posts: 72
Joined: 26-April 20

|
Does the Tagging Checker script still work?? I installed the newest version posted by that other guy in the thread but It dosen't seem to do anything and the thread is locked
This post has been edited by cillywillyboy: Jun 20 2023, 05:59
|
|
|
May 8 2024, 01:20
|
프레이
Group: Gold Star Club
Posts: 701
Joined: 21-October 17

|
|
|
|
|
 |
|
Jun 16 2024, 22:32
|
-CerealKiller-
Lurker
Group: Recruits
Posts: 4
Joined: 21-August 17

|
Jump to a random galleryDidn't want to create a separate thread since this has an external dependency, and it's a pretty hacky implementation. Modify @match and @exclude to include appropriate urls. Can't add links in first post CODE // ==UserScript== // @name Exh-Random // @version 1.0 // @description Navigate to a random gallery // @author ChatGPT // @run-at document-end // @match <add e-h, ex, and onion url> // @exclude <match gallery url with /g/*> // @grant none // ==/UserScript==
(function() { 'use strict';
const Max = localStorage.getItem("EHPS-maxGID");
// Create the button element const button = document.createElement('button'); button.id = 'randomPageButton'; button.textContent = 'Go to Random Page'; button.style.position = 'fixed'; button.style.top = '10px'; button.style.right = '10px'; button.style.padding = '10px'; button.style.backgroundColor = '#4CAF50'; button.style.color = 'white'; button.style.border = 'none'; button.style.borderRadius = '5px'; button.style.cursor = 'pointer';
// Set the onclick event for the button button.onclick = function() { const randomNumber = Math.floor(Math.random() * Max) + 1;
// Get the current URL and append &next=random const url = window.location.href + `&next=${randomNumber}`;
// Fetch the HTML of the page fetch(url) .then(response => response.text()) .then(html => { // Parse the HTML const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html');
// Select all the URLs from the table var urls = Array.from(doc.querySelectorAll('.itg.glte td.gl1e a')).map(a => a.href);
// If there are no URLs, display a toast if (urls.length === 0) { // Create a new div element for the toast var toast = document.createElement('div');
// Set the text content of the toast toast.textContent = 'No Galleries Detected';
// Style the toast toast.style.position = 'fixed'; toast.style.top = '55px'; toast.style.right = '10px'; toast.style.padding = '10px'; toast.style.backgroundColor = '#dc3545'; // Red color toast.style.color = 'white'; toast.style.borderRadius = '5px'; toast.style.opacity = '0'; toast.style.transition = 'opacity 0.5s ease-in-out';
// Append the toast to the body document.body.appendChild(toast);
// Fade in the toast setTimeout(function() { toast.style.opacity = '1'; }, 0);
// Fade out and remove the toast after 3 seconds setTimeout(function() { toast.style.opacity = '0'; setTimeout(function() { document.body.removeChild(toast); }, 500); // Wait for the fade out transition to finish before removing the toast }, 2000);
return; } // Select a random URL var randomUrl = urls[Math.floor(Math.random() * urls.length)];
// Open the random URL in a new tab window.open(randomUrl, '_blank'); }); };
// Append the button to the body document.body.appendChild(button); })();
Requires Meldo-Megimi/EH-Page-Scrobbler (search on github. Can't include links) installed and running (this script fetches a variable set by that one) This is mostly coded by ChatGPT and held together by hopes and dreams. If there's a better and more efficient script doing something similar, point me toward that Will not work for the watched page most of the time because there's an upper limit to how far back you can go. if someone knows what that upper limit is, lmk and I can update the script accordingly I have not tested all edge cases, so this script might do something unexpected. You have been warned Spamming the button might trigger bot protection
|
|
|
|
 |
|
Jun 16 2024, 22:53
|
Shank
Group: Global Mods
Posts: 9,278
Joined: 19-May 12

|
QUOTE(-CerealKiller- @ Jun 16 2024, 20:32)  Will not work for the watched page most of the time because there's an upper limit to how far back you can go. if someone knows what that upper limit is, lmk and I can update the script accordingly
Unless I missed a change with some of the recent updates, it should be: Cut off after ~7 days for most users No cutoff for gold star donators
|
|
|
|
 |
|
Jun 17 2024, 09:35
|
-CerealKiller-
Lurker
Group: Recruits
Posts: 4
Joined: 21-August 17

|
QUOTE(Shank @ Jun 16 2024, 12:53)  Unless I missed a change with some of the recent updates, it should be: Cut off after ~7 days for most users No cutoff for gold star donators
Any idea roughly how many galleries are uploaded here per day? That way I can set a max gid range for the watched page to 7 days worth of gids And is there any way to detect gold star donators? Then I can disable that range limitations for those accounts
|
|
|
|
 |
|
Jun 17 2024, 13:07
|
Shank
Group: Global Mods
Posts: 9,278
Joined: 19-May 12

|
Best way would probably just be a checkbox that someone with a gold star can tick? Else the only way I'm aware of, would be their profile page shows they are in the gold star group (or catgirl which also counts), though that misses at least 2 users.
Re average amount of uploads, that'll vary wildly, esp. around events like comiket, but even just, someone figuring out how to use something like pixivutils, so I dunno if any reliable number could be got. There are date selectors (click Jump/Seek to get those options), you might be able to work out some averages by just entering a date, pressing the < Prev button (which takes you to the start of the date), then doing it again for the same date and pressing the > Next button (which takes you to the end of the date), and just calculating the difference between the gid's, though it'll not be perfectly accurate due to private galleries and updated galleries.
|
|
|
|
 |
|
Jun 17 2024, 22:46
|
-CerealKiller-
Lurker
Group: Recruits
Posts: 4
Joined: 21-August 17

|
Here's the updated script: CODE // ==UserScript== // @name Exh-Random // @version 1.0 // @description Navigate to a random gallery // @author -CerealKiller- // @run-at document-end // @match https://e-hentai.org/* // @match https://e-hentai.org/* // @match http://e-hentai55ld2wyap5juskbm67czulomrouspdacjamjeloj7ugjbsad.onion/* // @exclude https://e-hentai.org/g/* // @exclude https://e-hentai.org/g/* // @exclude https://e-hentai.org/popular // @exclude https://e-hentai.org/popular // @exclude https://e-hentai.org/torrents.php // @exclude https://e-hentai.org/torrents.php // @exclude https://e-hentai.org/uconfig.php // @exclude https://e-hentai.org/uconfig.php // @exclude https://e-hentai.org/mytags // @exclude https://e-hentai.org/mytags // @exclude https://e-hentai.org/g/* // @exclude https://e-hentai.org/gallerypopups.php* // @exclude https://e-hentai.org/gallerypopups.php* // @grant none // @icon https://e-hentai.org/favicon.ico // ==/UserScript==
(function() { 'use strict';
const Max = localStorage.getItem("EHPS-maxGID"); if (!Max) { showToast('Need Userscript "Eh - Page Scrobbler"', document.getElementById('randomPageButton')); return; } const currentUrl = window.location.href; const isWatchedPage = currentUrl.startsWith("https://e-hentai.org/watched");
// create button function createButton(id, text, top, right) { const button = document.createElement('button'); button.id = id; button.textContent = text; button.style.position = 'fixed'; button.style.top = top; button.style.right = right; button.style.padding = '10px'; button.style.backgroundColor = '#4CAF50'; button.style.color = 'white'; button.style.border = 'none'; button.style.borderRadius = '5px'; button.style.cursor = 'pointer'; document.body.appendChild(button); return button; }
// create checkbox function createCheckbox(id, labelText, top, right) { const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; checkbox.id = id; checkbox.style.position = 'fixed'; checkbox.style.top = top; checkbox.style.right = right;
const label = document.createElement('label'); label.htmlFor = id; label.appendChild(document.createTextNode(labelText)); label.style.position = 'fixed'; label.style.top = top; label.style.right = `${parseInt(right) + 20}px`;
document.body.appendChild(checkbox); document.body.appendChild(label);
return checkbox; }
// show toast function showToast(message, button) { const toast = document.createElement('div'); toast.textContent = message; toast.style.position = 'fixed'; toast.style.top = `${button.offsetTop + button.offsetHeight + 5}px`; toast.style.right = '10px'; toast.style.padding = '10px'; toast.style.backgroundColor = '#dc3545'; toast.style.color = 'white'; toast.style.borderRadius = '5px'; toast.style.opacity = '0'; toast.style.transition = 'opacity 0.5s ease-in-out'; document.body.appendChild(toast);
setTimeout(() => { toast.style.opacity = '1'; }, 0);
setTimeout(() => { toast.style.opacity = '0'; setTimeout(() => { document.body.removeChild(toast); }, 500); }, 2000); }
// handle button click async function handleButtonClick() { showToast('Loading', document.getElementById('randomPageButton'));
const isGoldStar = localStorage.getItem('gold') === 'true'; let randomNumber; if (isWatchedPage && !isGoldStar && (new URLSearchParams(window.location.search).has('f_search'))) { const newUrl = `${currentUrl}&jump=52d`; const response = await fetch(newUrl); const html = await response.text(); const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html'); let urls = Array.from(doc.querySelectorAll('.itg.glte td.gl1e a')).map(a => a.href);
if (urls.length === 0) { urls = Array.from(document.querySelectorAll('.itg.glte td.gl1e a')).map(a => a.href); }
const lastUrl = urls[urls.length - 1]; const Min = parseInt(lastUrl.match(/\/g\/(\d+)\//)[1]); randomNumber = Math.floor(Math.random() * (Max - Min + 1)) + Min; } else { randomNumber = Math.floor(Math.random() * Max) + 1; }
const url = `${window.location.href}&next=${randomNumber}`; const response2 = await fetch(url); const html2 = await response2.text(); const doc2 = new DOMParser().parseFromString(html2, 'text/html'); const urls = Array.from(doc2.querySelectorAll('.itg.glte td.gl1e a')).map(a => a.href);
if (urls.length === 0) { showToast('No Galleries Detected', document.getElementById('randomPageButton')); return; }
const randomUrl = urls[Math.floor(Math.random() * urls.length)]; window.open(randomUrl, '_blank'); }
// Create random page button const button = createButton('randomPageButton', 'Go to Random Gallery', '10px', '10px'); button.addEventListener('click', handleButtonClick);
// watched page and gold star donators if (isWatchedPage) { const checkbox = createCheckbox('goldCheckbox', 'Gold Star Donator?', '10px', `${parseInt(button.style.right) + button.offsetWidth + 5}px`); checkbox.addEventListener('change', () => { localStorage.setItem('gold', checkbox.checked); });
// Set initial checkbox state based on stored value checkbox.checked = localStorage.getItem('gold') === 'true'; } })(); The watched page can now select from up to 52 days in the past. From my testing, if no tags are searched for in the watched history, the entire watch history is available, which is restricted to ~52 days if even one tag is searched. Gold start donators can tick the checkbox to bypass this 52-day restriction in the scriptEdit: The limit looks much more complicated. I'm seeing different GID limits for different search terms and profiles This post has been edited by -CerealKiller-: Jun 24 2024, 22:42
|
|
|
|
 |
|
Jun 24 2024, 22:46
|
-CerealKiller-
Lurker
Group: Recruits
Posts: 4
Joined: 21-August 17

|
Minor update to the randomizer script. Changed some logic and limits CODE // ==UserScript== // @name Exh-Random // @version 1.3 // @description Navigate to a random gallery // @author -CerealKiller- // @run-at document-end // @match https://e-hentai.org/* // @match https://e-hentai.org/* // @match http://e-hentai55ld2wyap5juskbm67czulomrouspdacjamjeloj7ugjbsad.onion/* // @exclude https://e-hentai.org/g/* // @exclude https://e-hentai.org/g/* // @exclude https://e-hentai.org/popular // @exclude https://e-hentai.org/popular // @exclude https://e-hentai.org/torrents.php // @exclude https://e-hentai.org/torrents.php // @exclude https://e-hentai.org/uconfig.php // @exclude https://e-hentai.org/uconfig.php // @exclude https://e-hentai.org/mytags // @exclude https://e-hentai.org/mytags // @exclude https://e-hentai.org/g/* // @exclude https://e-hentai.org/gallerypopups.php* // @exclude https://e-hentai.org/gallerypopups.php* // @grant GM_getValue // @grant GM_setValue // @icon https://e-hentai.org/favicon.ico // ==/UserScript==
(function() { 'use strict';
const CONSTANTS = { BUTTON_ID: 'randomPageButton', CHECKBOX_ID: 'goldCheckbox', TOAST_DURATION: 2000, DEBOUNCE_DELAY: 300, };
let cachedMax = null;
function getMax() { if (cachedMax === null) { cachedMax = localStorage.getItem("EHPS-maxGID"); } return cachedMax; }
function createButton(id, text, top, right) { const button = document.createElement('button'); button.id = id; button.textContent = text; button.style.cssText = ` position: fixed; top: ${top}; right: ${right}; padding: 10px; background-color: #4CAF50; color: white; border: none; border-radius: 5px; cursor: pointer; `; document.body.appendChild(button); return button; }
function createCheckbox(id, labelText, top, right) { const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; checkbox.id = id; checkbox.style.cssText = ` position: fixed; top: ${top}; right: ${right}; `;
const label = document.createElement('label'); label.htmlFor = id; label.appendChild(document.createTextNode(labelText)); label.style.cssText = ` position: fixed; top: ${top}; right: ${parseInt(right) + 20}px; `;
document.body.appendChild(checkbox); document.body.appendChild(label);
return checkbox; }
function showToast(message, type = 'info') { const toast = document.createElement('div'); toast.textContent = message; toast.style.cssText = ` position: fixed; top: 50px; right: 10px; padding: 10px; color: white; border-radius: 5px; opacity: 0; transition: opacity 0.5s ease-in-out; `;
switch(type) { case 'error': toast.style.backgroundColor = '#dc3545'; break; case 'success': toast.style.backgroundColor = '#28a745'; break; default: toast.style.backgroundColor = '#17a2b8'; }
document.body.appendChild(toast);
setTimeout(() => { toast.style.opacity = '1'; }, 0); setTimeout(() => { toast.style.opacity = '0'; setTimeout(() => { document.body.removeChild(toast); }, 500); }, CONSTANTS.TOAST_DURATION); }
async function fetchAndParseURL(url) { try { const response = await fetch(url); const html = await response.text(); const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html'); return Array.from(doc.querySelectorAll('.itg.glte td.gl1e a')).map(a => a.href); } catch (error) { console.error('Error fetching and parsing URL:', error); showToast('Error fetching gallery data', 'error'); return []; } }
function getDefaultUrls() { return Array.from(document.querySelectorAll('.itg.glte td.gl1e a')).map(a => a.href); }
async function handleButtonClick() { showToast('Loading', 'info');
const Max = getMax(); if (!Max) { showToast('Need Userscript "Eh - Page Scrobbler"', 'error'); return; }
const currentUrl = window.location.href; const isWatchedPage = currentUrl.startsWith("https://e-hentai.org/watched"); const isGoldStar = GM_getValue('gold', false);
let randomNumber; if (isWatchedPage && !isGoldStar && new URLSearchParams(window.location.search).has('f_search') && new URLSearchParams(window.location.search).get('f_search')?.trim() !== '') { const Min = Max - 38000; randomNumber = Math.floor(Math.random() * (Max - Min + 1)) + Min; } else { randomNumber = Math.floor(Math.random() * Max) + 1; }
const url = `${window.location.href}&next=${randomNumber}`; const urls = ((fetched) => fetched.length === 0 ? getDefaultUrls() : fetched)(await fetchAndParseURL(url));
if (urls.length > 0) { const randomUrl = urls[Math.floor(Math.random() * urls.length)]; window.open(randomUrl, '_blank'); showToast('Random gallery opened', 'success'); } else { showToast('No galleries found', 'error'); } }
function debounce(func, delay) { let timeoutId; return function(...args) { clearTimeout(timeoutId); timeoutId = setTimeout(() => func.apply(this, args), delay); }; }
function init() { const button = createButton(CONSTANTS.BUTTON_ID, 'Go to Random Gallery', '10px', '10px'); button.addEventListener('click', debounce(handleButtonClick, CONSTANTS.DEBOUNCE_DELAY));
const currentUrl = window.location.href; const isWatchedPage = currentUrl.startsWith("https://e-hentai.org/watched");
if (isWatchedPage) { const checkbox = createCheckbox(CONSTANTS.CHECKBOX_ID, 'Gold Star Donator?', '10px', `${parseInt(button.style.right) + button.offsetWidth + 5}px`); checkbox.addEventListener('change', () => { GM_setValue('gold', checkbox.checked); }); checkbox.checked = GM_getValue('gold', false); } }
init(); })();
|
|
|
|
 |
|
Sep 5 2024, 05:05
|
rexmexmax
Lurker
Group: Recruits
Posts: 5
Joined: 13-January 17

|
A Script Request: Some way to mark galleries as read/complete so it's easily visible in search results. (EDIT: You can mark galleries with ratings (the stars), they change the star colors visible in search. This post contains some CSS for a style extension to make the change more visible.)I tried [ sleazyfork.org] EhxVisited and Mayriads master script but EhxVisited doesn't work in Incognito (doesn't remember/store which was visited) and favorites are needed for the latter to hide galleries. This script is an example of what I want: [ sleazyfork.org] NHentai Improved "Mark as read Feature" which works as intended, in incognito, regardless of account, with no limit. The goal being to just know what I read, since tagging and rating don't have any visible changes in search and favorite just puts some black bars around date. Unrelated Request: A way to quick search for hentai versions of gallery, like all works from search to google (title + "hentai") or to AniDB/MAL. Thanks for reading and If I missed something let me know. This post has been edited by rexmexmax: Sep 7 2024, 20:17
|
|
|
|
 |
|
Sep 11 2024, 17:10
|
moodyclaus
Group: Members
Posts: 274
Joined: 1-June 22

|
Made a new version for " Auto fjord changer for Vigs", since the original is not available anymore I didn't get to see it before it was removed but I assume it's what it was doing, if not, feel free to remove my post.
auto_fjord_changer_1.1.user.js.txt ( 451bytes )
Number of downloads: 32This post has been edited by moodyclaus: Oct 29 2024, 20:08
|
|
|
Sep 11 2024, 23:16
|
romanicyte
Group: Members
Posts: 2,906
Joined: 4-August 18

|
QUOTE(moodyclaus @ Sep 11 2024, 12:10)  Made a new version for "Auto fjord changer for Vigs", since the original is not available anymore I didn't get to see it before it was removed but I assume it's what it was doing, if not, feel free to remove my post.
[attachmentid=179689]
Thank you, extremely useful.
|
|
|
|
 |
|
Oct 16 2024, 22:05
|
FabulousCupcake
Group: Gold Star Club
Posts: 494
Joined: 15-April 14

|
Re: Site Changelog 2024-10-15 QUOTE - A test build that adds support for upcoming changes to image and thumbnail handling is now running on the onion site. The changes are mostly internal, but there are some thumbnail-related DOM changes in case people want to check for script compatibility. This will be pushed to the main site in a few days.
If anyone's too lazy to check the onion site (and solve the damn captcha lmao), here's a sample of the old and new thumbnail DOM: CODE <div id="gdt"> <div class="gdtl" style="height:303px"> <a href="https://e-hentai.org/s/87f46378eb/3092507-1"> <img alt="001" title="Page 1: 000.jpg" src="https://s.e-hentai.org/t/87/f4/87f46378eb409034c3f907bd5116ac9ea3aaa958-903142-1450-2048-jpg_l.jpg"> </a> </div> <div class="gdtl" style="height:303px"> <a href="https://e-hentai.org/s/266ec3f4c5/3092507-2"> <img alt="002" title="Page 2: 001.jpg" src="https://s.e-hentai.org/t/26/6e/266ec3f4c5951361b0b28591f11a14132db7b9da-797463-1450-2048-jpg_l.jpg"> </a> </div> <div class="gdtl" style="height:303px">...</div> ... <div class="gdtl" style="height:303px">...</div> <div class="c"></div> </div> </div>
CODE <div id="gdt" class="gt200"> <a href="https://e-hentai.org/s/87f46378eb/3092507-1"> <div title="Page 1: 000.jpg" style="width:200px;height:282px;background:transparent url(/t/87/f4/87f46378eb409034c3f907bd5116ac9ea3aaa958-903142-1450-2048-jpg_l.jpg) 0 0 no-repeat"></div> </a> <a href="https://e-hentai.org/s/266ec3f4c5/3092507-2"> <div title="Page 2: 001.jpg" style="width:200px;height:282px;background:transparent url(/t/26/6e/266ec3f4c5951361b0b28591f11a14132db7b9da-797463-1450-2048-jpg_l.jpg) 0 0 no-repeat"></div> </a> <a href=.../3092507-3">...</a> ... <a href=.../3092507-20">...</a> </div>
They're also now styled with grids over float
|
|
|
|
 |
|
Oct 25 2024, 12:38
|
TheGreatKing
Lurker
Group: Lurkers
Posts: 2
Joined: 14-November 13

|
Any chance someone could update the "eze" downloader script for the new website changes? Seems to have finally broken. I've been using it to download galleries in their compressed formats for years because of the useful info.json it adds to the zip. The github was last updated it 2019 so I'm not counting on the original dev to update it at this point. Thanks
|
|
|
|
 |
|
Oct 26 2024, 02:02
|
jkworld
Lurker
Group: Lurkers
Posts: 1
Joined: 11-May 19

|
QUOTE(TheGreatKing @ Oct 25 2024, 12:38)  Any chance someone could update the "eze" downloader script for the new website changes? Seems to have finally broken. I've been using it to download galleries in their compressed formats for years because of the useful info.json it adds to the zip. The github was last updated it 2019 so I'm not counting on the original dev to update it at this point. Thanks
You can make these changes and it seems to work. Don't know if other functionality is broken. Change this line nodes = n.querySelectorAll(".gdtm"); to this nodes = n.querySelectorAll("a"); Then look for this block. Add the n2 = n; line and add the // to all the lines missing it. ``` else { // Elements n2 = n; // if ( // (n = n.querySelector("div")) !== null && // (n2 = n.querySelector("a")) !== null // ) { image.url = n2.getAttribute("href") || ""; if ((n2 = n2.querySelector("img")) !== null) { image.filename = n2.getAttribute("title") || ""; image.index = (parseInt(n2.getAttribute("alt") || "", 10) || 1) - 1; } if ((m = re_image_url.exec(n.getAttribute("style") || ""))) { // Setup image image.thumbnail = m[3]; image.width = parseInt(m[1], 10); image.height = parseInt(m[2], 10); image.x_offset = parseInt(m[4], 10); } // } } ```
|
|
|
|
 |
|
Oct 26 2024, 04:54
|
TheGreatKing
Lurker
Group: Lurkers
Posts: 2
Joined: 14-November 13

|
QUOTE(jkworld @ Oct 25 2024, 17:02)  You can make these changes and it seems to work. Don't know if other functionality is broken. ...
Amazing! Works perfectly, thank you so much. I was able to hack together another solution but this is much more convenient. As far as other features go, I haven't noticed any other problems, yet. Thanks again!
|
|
|
Oct 29 2024, 20:11
|
moodyclaus
Group: Members
Posts: 274
Joined: 1-June 22

|
QUOTE(moodyclaus @ Sep 11 2024, 16:10)  Made a new version for " Auto fjord changer for Vigs", since the original is not available anymore I didn't get to see it before it was removed but I assume it's what it was doing, if not, feel free to remove my post.
auto_fjord_changer_1.1.user.js.txt ( 451bytes )
Number of downloads: 32Just updated it to make it works on links to a specific page as well.
|
|
|
|
 |
|
Nov 23 2024, 21:26
|
ciccabanana
Lurker
Group: Recruits
Posts: 8
Joined: 7-September 17

|
QUOTE(rexmexmax @ Sep 5 2024, 04:05)  A Script Request: Some way to mark galleries as read/complete so it's easily visible in search results. (EDIT: You can mark galleries with ratings (the stars), they change the star colors visible in search. This post contains some CSS for a style extension to make the change more visible.)I tried [ sleazyfork.org] EhxVisited and Mayriads master script but EhxVisited doesn't work in Incognito (doesn't remember/store which was visited) and favorites are needed for the latter to hide galleries. This script is an example of what I want: [ sleazyfork.org] NHentai Improved "Mark as read Feature" which works as intended, in incognito, regardless of account, with no limit. The goal being to just know what I read, since tagging and rating don't have any visible changes in search and favorite just puts some black bars around date. Unrelated Request: A way to quick search for hentai versions of gallery, like all works from search to google (title + "hentai") or to AniDB/MAL. Thanks for reading and If I missed something let me know. Sorry but what do you mean with "... EhxVisited doesn't work in Incognito (doesn't remember/store which was visited) and favorites are needed for the latter to hide galleries" I tried EhxVisited and it remembers which gallery i have opened during a session, highlighting them on the search page with the color that can be set in the settings. Even the funtion for hide galleries work, you only need to press the red X in the search page for hide a gallery. If you want a buttons inside a gallery for toggle "Mark as read"<->"Mark as unread" or a rectagle over the gallery with written "READ" as the scripts "NHentai Improved" should be simple, but that has nothing to do with the incognito mode. On the other hand the script will not remember, and will not have to remember, the visited or hidden between two separate Incognito sessions. (N.B. When you close all incognito tabs ad open a new incognito tab it's a new Incognito session). So I don't quite understand what do you mean. Can you elaborate?
|
|
|
|
 |
|
Jan 1 2025, 17:56
|
imty
Group: Gold Star Club
Posts: 222
Joined: 20-August 16

|
I've created a user script for MPV to try to switch the display mode from vertical to horizontal. It might still have some issues, but I think it works quite well. https://forums.e-hentai.org/index.php?showtopic=281945
|
|
|
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
|
 |
 |
 |
|