Greasy Fork is available in English.
⭐无缝加载 下一页内容 至网页底部(类似瀑布流,无限滚动,无需手动点击下一页)⭐,目前支持:【所有「Discuz!、Flarum、phpBB、MyBB、Xiuno、XenForo、NexusPHP...」论坛】【百度、谷歌(Google)、必应(Bing)、搜狗、微信、360、Yahoo、Yandex 等搜索引擎...】、贴吧、豆瓣、知乎、NGA、V2EX、起点中文、千图网、千库网、Pixabay、Pixiv、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、RuTracker、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、小众软件、【动漫狂、动漫屋、漫画猫、漫画屋、漫画 DB、HiComic、Mangabz、Xmanhua 等漫画网站...】、PubMed、Z-Library、GreasyFork、Github、StackOverflow(以上仅一小部分常见网站,更多的写不下了...
我对这网站不熟,你说的 “在第一页右上角选择过滤语言为中文后”,我都不知道你说的是哪里。。。
首页、分类页、搜索页,我都看了一圈,都没有看到设置语言的地方。
请给个具体 URL 或截图,确保我能找到出问题的地方,
注意,如果该过滤功能只有登录后才有的话,请主动私信我账号,否则我看不到网页内容是无法解决的。
啊!不好意思,这个是用其他脚本实现的,忘记了,以为是网站自带的,那就不用了,自己克服一下吧
我在搜索引擎搜了下 "nhentai 过滤语言" 这个关键词,结果发现这似乎是某个油猴脚本实现的功能(而不是 nhentai 自带的)。
如果你说的该过滤语言功能确实是某个油猴脚本实现的,那么该问题我是无法解决的,这种情况只能对方适配我,而我的脚本没办法反过来适配对方的(毕竟总不能我把对方脚本复制一份塞到我的脚本里吧。。。
虽然我没去看对方脚本的代码,但大概能猜到思路,估计就是打开网页后,执行一次过滤,把当前网页中非指定语言的漫画都给隐藏起来。
而我的脚本则是后续插入下一页内容的,对方脚本压根就不知道(毕竟 nhentai 本身并不自带无缝翻页功能,所以对方脚本作者没考虑到很正常)。
这种情况下,需要在对方脚本中添加一段用来监听网页内容变动的代码,这样在我的脚本插入下一页内容后,对方脚本就会知道,并再次执行一遍语言过滤。
而我的脚本是无法反过来适配对方的,除非我把对方脚本内容集成到我的脚本里。。。但我显然不可能这么做,所以本质上是冲突的。
不过呢,如果你去找对方反馈提需求,怕是对方不会费劲添加这。。。
因为用我脚本的有多少人,用对方脚本的有多少人,同时用两个脚本的才有多少人?~
我刚写了一大篇解释说明发出去,就看到你刚刚的回复。。。
刚才有个人反馈 nhentai 问题,我才发现 nhentai 自带了屏蔽 Tag 标签功能(需要登录),因此也可以用来屏蔽其他语言标签来实现一样的效果。
https://greasyfork.org/zh-CN/scripts/419215/discussions/130378
我的解决方法比较简单粗暴,先向下翻页再屏蔽其他语言tag
我将那个脚本有关语言过滤的代码提取出来了,可用。大佬你试试看能不能加进规则里,或者改一下这段代码适配下自动翻页,同时代码放在这,给有需要的人。辛苦大佬了
// ==UserScript== // @name nHentai Helper // @namespace https://github.com/Tsuk1ko // @version 2.14.3 // @icon https://nhentai.net/favicon.ico // @description Download nHentai doujin as compression file easily, and add some useful features. Also support NyaHentai. // @author Jindai Kirin // @match https://nhentai.net/* // @license GPL-3.0 // @require https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js // @homepageURL https://github.com/Tsuk1ko/nhentai-helper // ==/UserScript==
(async () => {
'use strict';
// 语言过滤
const langFilter = (lang, $node) => {
const getNode = $node ? selector => $node.find(selector) : selector => $(selector);
if (Number(lang) === 0) getNode('.gallery').removeClass('hidden');
else {
getNode(.gallery[data-tags~=${lang}]
).removeClass('hidden');
getNode(.gallery:not([data-tags~=${lang}])
).addClass('hidden');
}
};
// 语言过滤
const $langFilter = $(
'<select id="lang-filter"><option value="0">None</option><option value="29963">Chinese</option><option value="6346">Japanese</option><option value="12227">English</option></select>'
);
$('ul.menu.left').append($('<li style="padding:0 10px;user-select:none">Filter: </li>').append($langFilter));
$langFilter.on('change', function () {
langFilter(this.value);
sessionStorage.setItem('lang-filter', this.value);
});
// 还原记住的语言过滤
const rememberedLANG = sessionStorage.getItem('lang-filter');
if (rememberedLANG) {
$langFilter.val(rememberedLANG);
langFilter(rememberedLANG);
}
})();
// ==UserScript==
// @name nHentai Helper
// @namespace https://github.com/Tsuk1ko
// @version 2.14.3
// @icon https://nhentai.net/favicon.ico
// @description Download nHentai doujin as compression file easily, and add some useful features. Also support NyaHentai.
// @author Jindai Kirin
// @match https://nhentai.net/*
// @require https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js
// @homepageURL https://github.com/Tsuk1ko/nhentai-helper
// ==/UserScript==
(async () => {
'use strict';
// 语言过滤
const langFilter = (lang, $node) => {
const getNode = $node ? selector => $node.find(selector) : selector => $(selector);
if (Number(lang) === 0) getNode('.gallery').removeClass('hidden');
else {
getNode(`.gallery[data-tags~=${lang}]`).removeClass('hidden');
getNode(`.gallery:not([data-tags~=${lang}])`).addClass('hidden');
}
};
// 语言过滤
const $langFilter = $(
'<select id="lang-filter"><option value="0">None</option><option value="29963">Chinese</option><option value="6346">Japanese</option><option value="12227">English</option></select>'
);
$('ul.menu.left').append($('<li style="padding:0 10px;user-select:none">Filter: </li>').append($langFilter));
$langFilter.on('change', function () {
langFilter(this.value);
sessionStorage.setItem('lang-filter', this.value);
});
// 还原记住的语言过滤
const rememberedLANG = sessionStorage.getItem('lang-filter');
if (rememberedLANG) {
$langFilter.val(rememberedLANG);
langFilter(rememberedLANG);
}
})();
上面的代码没发好。。。
你登录账号,屏蔽掉指定语言的 Tag 不就行啦~
昨天晚上我更新了下,已经完美兼容 nHentai 自带的屏蔽 Tag 功能了(即翻页后新插入的内容,也会过滤屏蔽)。
https://greasyfork.org/zh-CN/scripts/419215/discussions/130378
屏蔽tag功能和这个脚本语言过滤在使用上还是有点不一样的。因为我中文和日语都看的。用脚本方便在日语和中文来回切换。tag来实现的话挺麻烦。
我写的翻页规则是读取 用户屏蔽 Tag ID 列表,然后翻页插入新内容前,直接模拟网站本身的效果对其屏蔽处理后,再插入当前网页。
因此也可以稍微改改,从黑名单改为白名单,即只有包含指定 TagID 的才会显示,下面是以中文 29963 为例:
可复制下面翻页规则,粘贴到
自定义翻页规则
默认的{ }
中间保存即可(浏览器右上角 Tampermonkey 扩展图标内脚本菜单
"nhentai": {
"host": "nhentai.net",
"url": "return (fun.lp() == '/' || fun.lp() == '/search/' || fun.indexOF(/\\/(tag|artist|character|language)\\//))",
"blank": 3,
"pager": {
"nextL": "a.next",
"pageE": ".gallery",
"replaceE": ".pagination"
},
"function": {
"bF": "return fun.src_bF(pageE)",
"aF": "document.querySelectorAll(\".gallery:not(.blacklisted):not([data-tags~='29963'])\").forEach(function (one) { one.classList.add('blacklisted'); });"
}
}
上面是用的网站自带的模糊屏蔽样式,也可以改成下面这种直接屏蔽完全不显示的样式:
"aF": "document.querySelectorAll(\".gallery:not(.blacklisted):not([data-tags~='29963'])\").forEach(function (one) { one.classList.add('hidden'); });"
我只帮你到这里,你可以根据需求对代码进行修改完善。
白名单用了一会,不好用。不过我把黑名单模式改成了直接屏蔽完全不显示的样式,舒服多了。总之还是谢谢大佬了
也不能说不好用,各有优势吧。我更喜欢黑名单
可是你前面发的那个脚本不就是白名单吗?(除了你指定的语言外,其他的都给隐藏了)所以我后来才给你把我的翻页规则改成白名单了。
另外,突然下面那个 “直接屏蔽完全不显示的样式” 的代码有个小错误,虽然不影响效果:
"aF": "document.querySelectorAll(\".gallery:not(.hidden):not([data-tags~='29963'])\").forEach(function (one) { one.classList.add('hidden'); });"
https://nhentai.net 网站有个BUG,在第一页右上角选择过滤语言为中文后,后面翻页出来还是没过滤的多语言状态。