BLTH
BLTH copied to clipboard
重复运行检测逻辑也许有问题
描述bug
即便只剩下最后一个直播间分页,刷新该直播间页面后仍然报告有其它直播间页面在运行。
重现bug
- 打开一个挂机用没在直播的闲置直播间,并确认脚本正在运行,然后固定标签页(Chrome 的标签页功能,主要是提高优先级保活)
- 继续打开更多的直播间(闲置与正在直播)页面,并确认脚本正常运行(识别到步骤1的页面并终止运行)
- 打开更多非直播间页面,让 Chrome 检测出内存过载(不足)进而把部分直播间页面杀掉(Discard)
- (可选)直接关闭被杀的分页
- 打开固定了且没有被杀的分页,刷新它
- 出现问题
预期行为
应该能正常继续运行,而不是识别成重复运行的。
截图

运行日志
13:43:14.162 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:14:162] toast-caution: 检测到其他直播间页面的挂机助手正在运行,无需重复运行的功能将停止运行
13:43:14.326 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:14:326] toast-info: 正在获取礼物 / 用户 / 账号 / 粉丝勋章数据...
13:43:17.362 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:17:362] InitData: API.gift.gift_config: Object
13:43:18.287 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:18:287] InitData: API.getuserinfo: Object
13:43:19.325 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:19:325] InitData: API.x.getAccInfo: Object
13:43:19.329 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:19:329] Live_info: Object
13:43:20.367 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:20:367] before init() getMedalList: API.i.medal: Object
13:43:21.006 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:21:6] before init() getMedalList: API.i.medal: Object
13:43:21.008 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:21:8] runTomorrow: 获取粉丝勋章列表 Thu Jul 28 2022 01:01:00 GMT+0900 (日本標準時)
13:43:21.008 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:21:8] medla_info: Object
13:43:21.044 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:21:44] MY_API.GIFT_COUNT: Object
13:43:21.065 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:21:65] toast-success: CACHE载入成功
13:43:21.082 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:21:82] MY_API.CONFIG: Object
13:43:21.083 userscript.html?name=B%25E7%25AB%2599%25E7%259B%25B4%25E6%2592%25AD%25E9%2597%25B4%25E6%258C%2582%25E6%259C%25BA%25E5%258A%25A9%25E6%2589%258B.user.js&id=24ed71a6-d547-4524-ad87-42a1879ec2d7:212 [BLTH][13:43:21:83] runExactMidnight: 重置统计 Thu Jul 28 2022 01:00:00 GMT+0900 (日本標準時)
操作系统
WIN10 20H2
浏览器
103.0.5060.114
用户脚本管理器
Tampermonkey v4.16.1
挂机助手版本
5.8.5
网络情况
好
其他浏览器插件/脚本
没有
其他
建议使用分页丢弃扩展来模拟测试,避免环境重现困难。
这其实是在兼容性和稳定性上的一个取舍。如果用油猴自带的GM_* APIs来实现的话非常稳定,但目前只有部分用户脚本管理器兼容相关API。现在脚本使用的方法没那么稳定但肯定没用兼容性问题。
出现了你这种问题后关闭所有B站直播间标签页,等至少11秒后再打开页面即可。

那就在脚本里加入脚本管理器的识别吧,自适应使用不同的API。
出现了你这种问题后关闭所有B站直播间标签页,等至少11秒后再打开页面即可。
测试过了,这个方法无效。只能重启浏览器解决。