Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

脚本完全失效,侧边栏也不显示 #2928

Closed
2SHANINGITHUB opened this issue Jan 24, 2022 · 23 comments
Closed

脚本完全失效,侧边栏也不显示 #2928

2SHANINGITHUB opened this issue Jan 24, 2022 · 23 comments
Labels
bug bug

Comments

@2SHANINGITHUB
Copy link

关于哪一项功能

所有功能

问题描述

首次安装脚本并配置后功能可用,但关闭浏览器再次打开,脚本所有功能即失效

脚本版本

V 2.0.8

浏览器版本

Chrome版本 97.0.4692.99(正式版本) (64 位)

播放器版本

No response

是否开启 HEVC

No response

错误信息

Uncaught (in promise) TypeError: Cannot convert undefined or null to object
    at Function.entries (<anonymous>)
    at n (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:2842)
    at n (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:2900)
    at n (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:2900)
    at n (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:2900)
    at n (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:2900)
    at n (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:2900)
    at n (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:2900)
    at d (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:3193)
    at Module.6171 (userscript.html?name=Bilibili%20Evolved.user.js&id=96bd9c22-ae82-45ae-a4d6-6bb3717b4aa2:197:3355)

附加截图

No response

@horizon98
Copy link

horizon98 commented Jan 29, 2022

刚刚我也遇到几乎一致的问题了,排查了一番,发现我的情况是自定义顶栏(customNavbar)的问题,我遇到问题之前刚刚修改过自定义顶栏的布局。不知道为啥,自定义顶栏的配置文件中生成了一个NULL,然后脚本就用不了了。。

我的报错是这样(跟你的很像):
1

自定义顶栏的报错配置文件如下(主要就是那个NULL值):

"customNavbar": {
......
"settings": {
              "enabled": true,
              "options": {
                  "hidden": [
                      "gamesIframe",
                      "drawing",
                      "music",
                      "shop",
                      "favorites",
                      "watchlater",
                      "mangaIframe",
                      "match",
                      "upload",
                      "blank3",
                      "blank4",
                      null
                  ],
......

将那个null删掉之后可以正常使用,但卸载并重新安装自定义顶栏,进行任何配置后依然会出现相同错误,不清楚是不是我之前的配置文件有问题。

然后详细说一下这个问题的治标方法(先让脚本能用再说):

  1. Tampermonkey →设置→通用:将配置模式更改为“高级”;
  2. 转到Bilibili Evolved脚本的编辑界面,将顶栏切换到“存储一栏”;
  3. 网页内搜索(建议将文本框内的内容复制到本地文本编辑器比较快) null(前面多打几个空格),然后删掉这一行以及上一行最后的逗号。复制回“存储”的那个文本框,点击“保存”;

2

之后脚本应该就能正常使用了,建议在找到根源问题前不要再次更改或暂时卸载“自定义顶栏”这个组件。

==============
我是个菜鸡,如果说得不对请大佬们多多指正,希望作者能帮忙修复下。

@2SHANINGITHUB
Copy link
Author

感谢,根据你的建议脚本已正常使用 @the1812 麻烦作者看一下

@timongh
Copy link
Contributor

timongh commented Jan 30, 2022

@horizon98 感谢感谢,我这边也出现了这样的问题。不过我这里不是自定义顶栏,是其他组件导致的。其原因应该相同,因为有个共同点:settings.options 下存储的东西出现了 null。

以此来看,这里应该有 2 个 bug:

  1. null 因为未知原因被错误地存进了选项中。这有可能是脚本本体的 bug,也有可能是组件的问题。
  2. 当选项中出现了 null 时,整个组件陷入瘫痪。

@Tinhone
Copy link
Contributor

Tinhone commented Feb 1, 2022

V1还可正常使用,应该是脚本本体的bug

@the1812 the1812 added the bug bug label Feb 5, 2022
@the1812
Copy link
Owner

the1812 commented Feb 5, 2022

已确认, 是数组类型的选项被脚本转换为 Proxy, 但传给 Vue data 时又被 Vue 包装了一下, 导致 Array.push 只加了 length 没加元素, 出现 null

下次更新会修复的

@the1812 the1812 closed this as completed in a4f7b6e Feb 5, 2022
@horizon98
Copy link

已确认, 是数组类型的选项被脚本转换为 Proxy, 但传给 Vue data 时又被 Vue 包装了一下, 导致 Array.push 只加了 length 没加元素, 出现 null

下次更新会修复的

您好,更新2.1.3后还是有相同问题,是我本来的配置文件已经出问题了吗😥

配置顶栏布局时没有问题,一旦配置完刷新就会再次出现问题。

image

@the1812
Copy link
Owner

the1812 commented Feb 6, 2022

已经出现此问题的用户:

  1. 按上面的修复方法做一次修复, 让脚本恢复执行
  2. 更新 自定义顶栏 组件, 在选项中可以看到 Commit 版本应该为 332b4c325

没出现此问题的用户: 直接走上面第 2 步

@horizon98
Copy link

已经出现此问题的用户:

  1. 按上面的修复方法做一次修复, 让脚本恢复执行
  2. 更新 自定义顶栏 组件, 在选项中可以看到 Commit 版本应该为 332b4c325

没出现此问题的用户: 直接走上面第 2 步

我已经更新到了2.1.3,Commit 版本还是 13300f13b 。手动去 master/dist/bilibili-evolved.user.js 安装,脚本内容也一样。

@the1812
Copy link
Owner

the1812 commented Feb 7, 2022

请注意是更新 自定义顶栏 组件, 脚本本体和组件是独立更新的.
可以从在线仓库里覆盖安装, 或者从组件选项里检查更新
image

@Caelestrasz
Copy link

2. 332b4c3

我是从组件这里检查更新,依然更新不到332b4c325

@the1812
Copy link
Owner

the1812 commented Feb 7, 2022

更新源换到 GitHub, 然后重新去在线仓库下一个看看?

@Caelestrasz
Copy link

Caelestrasz commented Feb 7, 2022

更新源换到 GitHub, 然后重新去在线仓库下一个看看?
image
我选github,结果安装完了还是jsDelivr?我自己换了url也没用,试过了

@the1812
Copy link
Owner

the1812 commented Feb 7, 2022

是通用设置里那个选项, 不是 @updateURL

@Caelestrasz
Copy link

Caelestrasz commented Feb 7, 2022

是通用设置里那个选项, 不是 @updateURL
换了,还是不行

@the1812
Copy link
Owner

the1812 commented Feb 7, 2022

换了更新源后要去在线仓库覆盖安装. 或者干脆直接用这个链接吧
https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/registry/dist/components/style/custom-navbar.js

image

这个链接打开来拉到最底下, 应该也可以看到版本信息
image

@Caelestrasz
Copy link

https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/registry/dist/components/style/custom-navbar.js
0207-17 41 54

成功更新版本,但是随便删哪个,隐藏了个会员购还是出现了null,脚本失效

@the1812
Copy link
Owner

the1812 commented Feb 7, 2022

还是会这样吗? 你再修复一下 null 的问题试试, 我这边隐藏会员购后还是可以正常使用的

@Caelestrasz
Copy link

Caelestrasz commented Feb 7, 2022

还是会这样吗? 你再修复一下 null 的问题试试, 我这边隐藏会员购后还是可以正常使用的

试过的,我就是修复了删除了null侧栏才会出现,要不然我根本进不掉到关掉会员购的设置😂,删了会员购就会变成这样
"settings": {
"enabled": true,
"options": {
"hidden": [
"blank1",
"blank4",
"drawing",
"music",
"gamesIframe",
"bangumi",
"match",
null
]

@horizon98
Copy link

请注意是更新 自定义顶栏 组件, 脚本本体和组件是独立更新的. 可以从在线仓库里覆盖安装, 或者从组件选项里检查更新 image

您好,我昨天检查过自定义顶栏组件的更新,但是只会显示“已更新组件...,刷新后生效”,实际上组件的版本号没有变。通用设置里的更新源一直是GitHub。

刚刚按您上面说的手动安装组件,成功更新到了332b4c325,但是这个Bug依然还有(设置顶栏布局时,将某个元素由可见改为隐藏,然后刷新页面,脚本失效,控制台报类似前面的错误)。尝试过卸载该组件并重新安装,也没有用。

@the1812 the1812 reopened this Feb 8, 2022
@0316ng
Copy link

0316ng commented Feb 11, 2022

我刚刚更新组件后解决了设置图标消失的问题,以下是组件版本号和设置截图
20220211_202024
20220211_202432
20220211_202443

@i-CraftY
Copy link

按照上述方法更新组件后仍然无效

@chenxi-Eumenides
Copy link

chenxi-Eumenides commented Feb 15, 2022

动态过滤器组件也会导致相同的问题:脚本完全崩溃(无论此组件在页面中是否被使用)
用上述方法清理过动态过滤器组件的null值后恢复正常。
动态过滤器组件版本:332b4c325。

修改动态过滤器中“类型”内容会导致此问题,关键词和侧边栏正常工作。
image

@the1812
Copy link
Owner

the1812 commented Feb 18, 2022

调了半天发现 Tampermonkey 存数据的时候不太对劲, 失效的各位可以暂时换 Violentmonkey 用着先 v2.1.5 版已修复

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug bug
Projects
None yet
Development

No branches or pull requests

9 participants