BLTH icon indicating copy to clipboard operation
BLTH copied to clipboard

重复运行检测逻辑也许有问题

Open Mishasama opened this issue 3 years ago • 2 comments

描述bug

即便只剩下最后一个直播间分页,刷新该直播间页面后仍然报告有其它直播间页面在运行。

重现bug

  1. 打开一个挂机用没在直播的闲置直播间,并确认脚本正在运行,然后固定标签页(Chrome 的标签页功能,主要是提高优先级保活)
  2. 继续打开更多的直播间(闲置正在直播)页面,并确认脚本正常运行(识别到步骤1的页面并终止运行)
  3. 打开更多非直播间页面,让 Chrome 检测出内存过载(不足)进而把部分直播间页面杀掉(Discard)
  4. (可选)直接关闭被杀的分页
  5. 打开固定了且没有被杀的分页,刷新它
  6. 出现问题

预期行为

应该能正常继续运行,而不是识别成重复运行的。

截图

image

运行日志

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

网络情况

其他浏览器插件/脚本

没有

其他

建议使用分页丢弃扩展来模拟测试,避免环境重现困难。

Mishasama avatar Jul 27 '22 04:07 Mishasama

这其实是在兼容性和稳定性上的一个取舍。如果用油猴自带的GM_* APIs来实现的话非常稳定,但目前只有部分用户脚本管理器兼容相关API。现在脚本使用的方法没那么稳定但肯定没用兼容性问题。
出现了你这种问题后关闭所有B站直播间标签页,等至少11秒后再打开页面即可。

andywang425 avatar Jul 27 '22 04:07 andywang425

image

那就在脚本里加入脚本管理器的识别吧,自适应使用不同的API。

出现了你这种问题后关闭所有B站直播间标签页,等至少11秒后再打开页面即可。

测试过了,这个方法无效。只能重启浏览器解决。

Mishasama avatar Jul 27 '22 05:07 Mishasama