hoothin / UserScripts

Greasemonkey scripts ( Pagetual / Picviewer CE+ / DownloadAllContent ) 油猴腳本集 ユーザースクリプト集
https://greasyfork.org/users/8227-hoothin
3.15k stars 516 forks source link

自动刷新页面 #771

Open XiaoYin320 opened 1 month ago

XiaoYin320 commented 1 month ago

曾经提出过这个问题......... https://github.com/hoothin/UserScripts/issues/615

在e-hentai使用时有时候会自动刷新页面,回到顶端。 出现【绿色的裂开的小图标】的瞬间,会发生自动刷新页面。

网址多了一些字符 【nl=33333-480584&nl=33333-480584&nl=33333-480584&nl=45453-480584】

假设在瀑布式浏览的时候,第五张图片出现了这个问题,出现【绿色的裂开的小图标】的瞬间,会发生自动刷新页面,回到了页面的顶部。 在新的标签页,“单独”打开第五张,也会出现【绿色的裂开的小图标】发生自动刷新页面,然后这张图片可以正常加载。

hoothin commented 4 weeks ago

wedata 上有个日本人提交了一个规则,因为 url 比我库里的长,所以优先级更高。。。已经修复了。这个 wedata 总是坑我

XiaoYin320 commented 4 weeks ago

wedata 上有个日本人提交了一个规则,因为 url 比我库里的长,所以优先级更高。。。已经修复了。这个 wedata 总是坑我

我更新了一下规则,看本子试了一下,还是没修复.........

hoothin commented 4 weeks ago

不是更新规则,是更新脚本

XiaoYin320 commented 4 weeks ago

不是更新规则,是更新脚本

额,更新脚本了,试了一下,还是出现了上面的问题.......[2913339-17?nl=47817-480589&nl=47817-480589&nl=47817-480589]

hoothin commented 4 weeks ago

我在这个本子测试了没问题。你是看的哪个本子?控制台有没有报错?

hoothin commented 4 weeks ago
{
    "name": "E-Hentai",
    "author": "skofkyo",
    "example": "http://e-hentai.org/,https://exhentai.org/",
    "url": "^https?://(e-hentai|exhentai)\\.org/",
    "nextLink": "//table[@class='ptt']//a[string()='>'] | id('next') | id('unext')",
    "pageElement": ".itg>div,.itg>tbody>tr:not(:first-of-type),.gl1t, #gdt>div:not(.c),#gdt>a:not(.c), #img",
    "replaceElement": ".ptt,.ptb,.sn,.searchnav",
    "css": "#img {max-width: 100% !important;height: auto !important;min-height: 400px;}",
    "pageInit": "let img=doc.getElementById('img');img&&img.setAttribute('onerror','setTimeout(()=>{this.src=this.src},3000)');"
}

试试这个规则

XiaoYin320 commented 4 weeks ago

{ "name": "E-Hentai", "author": "skofkyo", "example": "http://e-hentai.org/,https://exhentai.org/", "url": "^https?://(e-hentai|exhentai)\.org/", "nextLink": "//table[@class='ptt']//a[string()='>'] | id('next') | id('unext')", "pageElement": ".itg>div,.itg>tbody>tr:not(:first-of-type),.gl1t, #gdt>div:not(.c),#gdt>a:not(.c), #img", "replaceElement": ".ptt,.ptb,.sn,.searchnav", "css": "#img {max-width: 100% !important;height: auto !important;min-height: 400px;}", "pageInit": "let img=doc.getElementById('img');img&&img.setAttribute('onerror','setTimeout(()=>{this.src=this.src},3000)');" } 导入 试试这个规则

我试了一下,已经不会刷新页面了。现在的状态是【绿色的裂开的小图标】不停地闪烁,有办法让图片成功加载吗?因为在新的标签页,“单独”打开无法加载的图片的时候,也会出现【绿色的裂开的小图标】发生自动刷新页面,然后这张图片可以正常加载,链接里会多一串字符【?nl=47817-480590】。

XiaoYin320 commented 4 weeks ago

我在这个本子测试了没问题。你是看的哪个本子?控制台有没有报错?

这个问题是随机出现的,很难复现。虽然是同一个本子,但在其他时间阅读的时候,可能就不会出现问题.......

hoothin commented 4 weeks ago

刷新就可以正常加载的话,可以试试用 iframe 包裹,这样裂开刷新的就是 iframe。不过这样消耗的内存就会变多

{
    "name": "E-Hentai",
    "url": "^https?://(e-hentai|exhentai)\\.org/",
    "nextLink": "//table[@class='ptt']//a[string()='>'] | id('next') | id('unext')",
    "pageElement": ".itg>div,.itg>tbody>tr:not(:first-of-type),.gl1t, #gdt>div:not(.c),#gdt>a:not(.c), #img",
    "replaceElement": ".ptt,.ptb,.sn,.searchnav",
    "css": "#img {max-width: 100% !important;height: auto !important;min-height: 400px;}",
    "action": 2
}
XiaoYin320 commented 4 weeks ago

刷新就可以正常加载的话,可以试试用 iframe 包裹,这样裂开刷新的就是 iframe。不过这样消耗的内存就会变多

{ "name": "E-Hentai", "url": "^https?://(e-hentai|exhentai)\.org/", "nextLink": "//table[@class='ptt']//a[string()='>'] | id('next') | id('unext')", "pageElement": ".itg>div,.itg>tbody>tr:not(:first-of-type),.gl1t, #gdt>div:not(.c),#gdt>a:not(.c), #img", "replaceElement": ".ptt,.ptb,.sn,.searchnav", "css": "#img {max-width: 100% !important;height: auto !important;min-height: 400px;}", "action": 2 } 导入

我试了一下这个代码,现在无法正常显示瀑布式翻页的内容了,而且还是会刷新页面,回到顶部.....链接里多了这一串[?nl=43354-480607]

hoothin commented 4 weeks ago

那我就不知道了,我尝试翻了35页,没有发现和你一样的问题 image

XiaoYin320 commented 4 weeks ago

那我就不知道了,我尝试翻了35页,没有发现和你一样的问题 image

image 首页会显示不出来。

图片大小貌似也发生变化 image

hoothin commented 4 weeks ago

那是正常的,table 里面插入 iframe 就会这样乱掉,你得把两个规则分开,一个 action: 0 用来翻列表页,一个 action: 2 用来翻内页

XiaoYin320 commented 4 weeks ago

那是正常的,table 里面插入 iframe 就会这样乱掉,你得把两个规则分开,一个 action: 0 用来翻列表页,一个 action: 2 用来翻内页

额,不会修改这个代码😭😭😭.......

XiaoYin320 commented 4 weeks ago

wedata 上有个日本人提交了一个规则,因为 url 比我库里的长,所以优先级更高。。。已经修复了。这个 wedata 总是坑我

所以大佬不打算处理这个问题了吗.........

hoothin commented 4 weeks ago

我没有复现你的问题,所以不清楚是什么原因造成的。iframe 也无法正常刷新显示的话,那么我上面给的规则就没有意义了,所以也没必要再拆分

XiaoYin320 commented 4 weeks ago

{ "name": "E-Hentai", "author": "skofkyo", "example": "http://e-hentai.org/,https://exhentai.org/", "url": "^https?://(e-hentai|exhentai)\.org/", "nextLink": "//table[@class='ptt']//a[string()='>'] | id('next') | id('unext')", "pageElement": ".itg>div,.itg>tbody>tr:not(:first-of-type),.gl1t, #gdt>div:not(.c),#gdt>a:not(.c), #img", "replaceElement": ".ptt,.ptb,.sn,.searchnav", "css": "#img {max-width: 100% !important;height: auto !important;min-height: 400px;}", "pageInit": "let img=doc.getElementById('img');img&&img.setAttribute('onerror','setTimeout(()=>{this.src=this.src},3000)');" } 导入 试试这个规则

好吧,那就算了吧,我用这个代码将就一下吧..........