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(以上仅一小部分常见网站,更多的写不下了...

< Feedback on 自动无缝翻页

Review: Good - script works

§
Posted: 17.04.2022

https://nhentai.net 网站有个BUG,在第一页右上角选择过滤语言为中文后,后面翻页出来还是没过滤的多语言状态。

X.I.UAuthor
§
Posted: 17.04.2022
Edited: 17.04.2022

我对这网站不熟,你说的 “在第一页右上角选择过滤语言为中文后”,我都不知道你说的是哪里。。。

首页、分类页、搜索页,我都看了一圈,都没有看到设置语言的地方。

请给个具体 URL 或截图,确保我能找到出问题的地方,

注意,如果该过滤功能只有登录后才有的话,请主动私信我账号,否则我看不到网页内容是无法解决的。

§
Posted: 17.04.2022

啊!不好意思,这个是用其他脚本实现的,忘记了,以为是网站自带的,那就不用了,自己克服一下吧

X.I.UAuthor
§
Posted: 17.04.2022
Edited: 17.04.2022

我在搜索引擎搜了下 "nhentai 过滤语言" 这个关键词,结果发现这似乎是某个油猴脚本实现的功能(而不是 nhentai 自带的)。

如果你说的该过滤语言功能确实是某个油猴脚本实现的,那么该问题我是无法解决的,这种情况只能对方适配我,而我的脚本没办法反过来适配对方的(毕竟总不能我把对方脚本复制一份塞到我的脚本里吧。。。


虽然我没去看对方脚本的代码,但大概能猜到思路,估计就是打开网页后,执行一次过滤,把当前网页中非指定语言的漫画都给隐藏起来

而我的脚本则是后续插入下一页内容的,对方脚本压根就不知道(毕竟 nhentai 本身并不自带无缝翻页功能,所以对方脚本作者没考虑到很正常)。

这种情况下,需要在对方脚本中添加一段用来监听网页内容变动的代码,这样在我的脚本插入下一页内容后,对方脚本就会知道,并再次执行一遍语言过滤。

而我的脚本是无法反过来适配对方的,除非我把对方脚本内容集成到我的脚本里。。。但我显然不可能这么做,所以本质上是冲突的。


不过呢,如果你去找对方反馈提需求,怕是对方不会费劲添加这。。。
因为用我脚本的有多少人,用对方脚本的有多少人,同时用两个脚本的才有多少人?~


我刚写了一大篇解释说明发出去,就看到你刚刚的回复。。。

X.I.UAuthor
§
Posted: 21.04.2022

刚才有个人反馈 nhentai 问题,我才发现 nhentai 自带了屏蔽 Tag 标签功能(需要登录),因此也可以用来屏蔽其他语言标签来实现一样的效果。
https://greasyfork.org/zh-CN/scripts/419215/discussions/130378

§
Posted: 21.04.2022

我的解决方法比较简单粗暴,先向下翻页再屏蔽其他语言tag

§
Posted: 22.04.2022
Edited: 22.04.2022

我将那个脚本有关语言过滤的代码提取出来了,可用。大佬你试试看能不能加进规则里,或者改一下这段代码适配下自动翻页,同时代码放在这,给有需要的人。辛苦大佬了

// ==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);
  }

})();

§
Posted: 22.04.2022
// ==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);
      }
})();

上面的代码没发好。。。

X.I.UAuthor
§
Posted: 22.04.2022

你登录账号,屏蔽掉指定语言的 Tag 不就行啦~

昨天晚上我更新了下,已经完美兼容 nHentai 自带的屏蔽 Tag 功能了(即翻页后新插入的内容,也会过滤屏蔽)。

https://greasyfork.org/zh-CN/scripts/419215/discussions/130378

§
Posted: 22.04.2022

屏蔽tag功能和这个脚本语言过滤在使用上还是有点不一样的。因为我中文和日语都看的。用脚本方便在日语和中文来回切换。tag来实现的话挺麻烦。

X.I.UAuthor
§
Posted: 22.04.2022

我写的翻页规则是读取 用户屏蔽 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'); });"

我只帮你到这里,你可以根据需求对代码进行修改完善。

§
Posted: 22.04.2022

白名单用了一会,不好用。不过我把黑名单模式改成了直接屏蔽完全不显示的样式,舒服多了。总之还是谢谢大佬了

§
Posted: 22.04.2022

也不能说不好用,各有优势吧。我更喜欢黑名单

X.I.UAuthor
§
Posted: 23.04.2022

可是你前面发的那个脚本不就是白名单吗?(除了你指定的语言外,其他的都给隐藏了)所以我后来才给你把我的翻页规则改成白名单了。

另外,突然下面那个 “直接屏蔽完全不显示的样式” 的代码有个小错误,虽然不影响效果:

"aF": "document.querySelectorAll(\".gallery:not(.hidden):not([data-tags~='29963'])\").forEach(function (one) { one.classList.add('hidden'); });"

Post reply

Sign in to post a reply.