专注沉浸式体验,1.屏蔽广告,直接访问热门图片 2.使用users入り的方式搜索 3.搜索pid和uid 4.显示原图及尺寸,图片重命名,下载原图|gif图|动图帧zip|多图zip 5.显示画师id、画师背景图 6.自动加载评论 7.对动态标记作品类型 8.去除重定向 9.单页排序 10.控制面板选择想要的功能 github:https://github.com/Ahaochan/Tampermonkey,欢迎star和fork。
我利用历史版本自查了一下,从0.4.7版之后出现问题,0.4.6版是没有这个问题的
出现原因的问题大概是因为默认开启预下载的问题,目前正在设置页面开发一个控制面板, 用于接管一些脚本功能的开关. 预下载功能开关的改动挺大的, 目前最好不要一次性开启太多页面.
极速模式只是开关MutationObserver而已
0.5.5版还是没有解决这个问题……在设置页面的控制里无论怎么开关那几个选项都没用
我去比较一下新旧版本…
我比较了0.4.6和新版本的区别,发现问题出在下面的一段代码里(反混淆处)
下面是0.4.6版的:
let classLib = { userIcon: ['_2lyPnMP'], rightColumn: ['_2e0p8Qb'] }; setInterval(function () { let webpackJsonp = unsafeWindow.webpackJsonp; // 1. 格式化 webpackJsonp 变量, 取出反混淆所需的变量 let filter = webpackJsonp.map(value => value[1]).filter(value => value && !Array.isArray(value) && typeof value === 'object'); $.each(filter, (index, obj) => { for (let key in obj) { if (!obj.hasOwnProperty(key)) { continue; } let tmp = {}; // 2. 尝试导出反混淆变量到tmp try { obj[key](tmp); } catch(err) { continue; } // 3. 存在一个变量对应多个反混淆值的情况, 用数组存入 if(tmp.hasOwnProperty('exports')) { $.each(tmp.exports, function (k, v) { classLib[k] = classLib[k] || []; try { classLib[k].push(v); } catch(err) { return; } classLib[k] = unique(classLib[k]); // 去重 }); } } }); }, 1000);
下面是0.5.5版的:
let defaultClassLib = { userIcon: 'sc-iwsKbI', rightColumn: '_3czssV0', coverTexture: '_3HZmrVs', alertContainer: "_3Dfo7Ik", }; let classLib = defaultClassLib; GM.getValue(GMkeys.classLib).then(value => { classLib = $.extend(JSON.parse(value || '{}'), defaultClassLib); }); setInterval(function () { let webpackJsonp = unsafeWindow.webpackJsonp; // 1. 格式化 webpackJsonp 变量, 取出反混淆所需的变量 let filter = webpackJsonp.map(value => value[1]).filter(value => value && !Array.isArray(value) && typeof value === 'object'); $.each(filter, (index, obj) => { for (let key in obj) { if (!obj.hasOwnProperty(key)) { continue; } let tmp = {}; // 2. 尝试导出反混淆变量到tmp try { obj[key](tmp); } catch (err) { continue; } // 3. 存在一个变量对应多个反混淆值的情况, 用数组存入 if (tmp.hasOwnProperty('exports')) { $.each(tmp.exports, function (k, v) { try { classLib[k] = v; } catch (err) { } }); } } }); GM.setValue(GMkeys.classLib, JSON.stringify(classLib)); }, 1000);
将0.5.5版的这一段改成0.4.6那样就不会有爆内存的问题了,所以应该是这一段代码的问题。
确实可能是这个原因。我做了反混淆的缓存。classLib
是挺大的。
如今P站反混淆策略升级,旧的反混淆策略失效,现在已经把旧的反混淆的代码删掉了。
请更新到0.5.6+试试。
0.5.6不会爆内存了
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址
现在的脚本版本打开数个图片页面会爆内存("▔□▔)/
使用脚本打开数个图片页面会使内存占用激增 我电脑16G内存,打开约10个图片页面就快占用完了,继续增加页面数就会因为内存爆满而卡死浏览器 如果关闭脚本则没有问题,打开30+个页面也占用不了多少内存 印象中2019年后才出现这个问题(大概吧),以前使用该脚本好像没碰到这个问题 PS.浏览器为最新Firefox65.01,win10,使用Tampermonkey,另外无论开不开极速模式都一样