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

Safari浏览器油猴插件更新至4.17.6162版本后,bilibili evolved失效了 #3362

Closed
LieQiZai opened this issue May 26, 2022 · 32 comments
Labels
compatibility 兼容性问题

Comments

@LieQiZai
Copy link

对应功能

全部

问题描述

Safari油猴插件更新至4.17.6162版本后,bilibili evolved失效,但其他插件目前正常

脚本版本

2.1.9

浏览器版本

Safari 版本15.5 (17613.2.7.1.8)

播放器版本

V2.78.4

播放策略

默认

错误信息

附加截图

No response

@vhhjlbaigcjklw
Copy link

我的也是

@fiulx
Copy link

fiulx commented May 26, 2022

@fiulx
Copy link

fiulx commented May 26, 2022

对应功能

全部

问题描述

Safari油猴插件更新至4.17.6162版本后,bilibili evolved失效,但其他插件目前正常

脚本版本

2.1.9

浏览器版本

Safari 版本15.5 (17613.2.7.1.8)

播放器版本

版本2.78.4

播放策略

默认

错误信息

附加截图

无响应

解决方法在
#3356

@themrv1ck
Copy link

对应功能

全部

问题描述

Safari油猴插件更新至4.17.6162版本后,bilibili evolved失效,但其他插件目前正常

脚本版本

2.1.9

浏览器版本

Safari 版本15.5 (17613.2.7.1.8)

播放器版本

版本2.78.4

播放策略

默认

错误信息

附加截图

无响应

解决方法在 #3356

试了 没用 还是一样用不了

@LieQiZai
Copy link
Author

对应功能

全部

问题描述

Safari油猴插件更新至4.17.6162版本后,bilibili evolved失效,但其他插件目前正常

脚本版本

2.1.9

浏览器版本

Safari 版本15.5 (17613.2.7.1.8)

播放器版本

版本2.78.4

播放策略

默认

错误信息

附加截图

无响应

解决方法在 #3356

没用哦,试过了

@the1812
Copy link
Owner

the1812 commented May 27, 2022

换个浏览器吧,Safari 我现在测不了

@PatZhuang
Copy link

这个问题应该是 safari 不支持 requestIdleCallback API,目前没有任何办法可以解决,除非作者重写相关代码

@the1812
Copy link
Owner

the1812 commented May 27, 2022

if (!('requestIdleCallback' in window)) {
window.requestIdleCallback = (callback: TimerHandler) => window.setTimeout(callback, 0)
window.cancelIdleCallback = (handle: number) => {
window.clearTimeout(handle)
}
}

这个有做过兼容性处理的

@PatZhuang
Copy link

OK,我这边实测 App Store 的 MeddleMonkey 可以正常加载最新版本的 bilibili evolved,油猴则是无论如何都不行……暂时先这么用着了

@Tongzhao9417
Copy link

实测按照#3356的解决方案之后Safari还是不行

@775720665
Copy link

实测按照#3356的解决方案之后Safari还是不行

把App Store的油猴卸了,装个旧版的

@themrv1ck
Copy link

实测按照#3356的解决方案之后Safari还是不行

把App Store的油猴卸了,装个旧版的

...旧版的装不了

@775720665
Copy link

实测按照#3356的解决方案之后Safari还是不行

把App Store的油猴卸了,装个旧版的

...旧版的装不了

去华军软件搜Tampermonkey for Mac我就这么干的

@Kev1nZheng
Copy link

实测按照#3356的解决方案之后Safari还是不行

把App Store的油猴卸了,装个旧版的

...旧版的装不了

去华军软件搜Tampermonkey for Mac我就这么干的

正版软件受害者

@775720665
Copy link

实测按照#3356的解决方案之后Safari还是不行

把App Store的油猴卸了,装个旧版的

...旧版的装不了

去华军软件搜Tampermonkey for Mac我就这么干的

正版软件受害者

唉、等什么时候更下一版本再回去吧。暂时也就这么个方法了。不然就换浏览器。

@Hukeqing
Copy link

来问一句解决了嘛,我好多设置在 Tampermonkey😭

@themrv1ck
Copy link

实测按照#3356的解决方案之后Safari还是不行

把App Store的油猴卸了,装个旧版的

...旧版的装不了

去华军软件搜Tampermonkey for Mac我就这么干的

正版软件受害者

唉、等什么时候更下一版本再回去吧。暂时也就这么个方法了。不然就换浏览器。

正版软件受害者+1 目前好像就只有这个办法了. 没辙

@zhiyuanzhai
Copy link

@the1812 我来提供一个Safari控制台报错信息,不知道有没有帮助。
image
打开控制台,一大串错误,全都是这个。

@the1812
Copy link
Owner

the1812 commented Jun 6, 2022

看起来是反广告插件屏蔽了 b 站的用户日志上传, 和 Evolved 没啥关系

@Felix2yu
Copy link

Felix2yu commented Jun 6, 2022

我开了个隐私窗口,关闭所有扩展,以及只保留Tampermonkey控制台输出如下,不知道有没有帮助

关闭全部扩展:

[Error] Failed to load resource: the server responded with a status of 404 () (vendor.314a607f.js.map, line 0)
[Error] Failed to load resource: the server responded with a status of 404 () (index.905bdf7e.js.map, line 0)
[Log] [correspond] – {code: -101, message: "账号未登录", ttl: 1, …} (sentry-5.15.0.min.js, line 2)
{code: -101, message: "账号未登录", ttl: 1, data: null}Object
[Warning] The resource https://s1.hdslb.com/bfs/static/laputa-home/client/assets/vip-default-banner.6db4a7ed.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it wasn't preloaded for nothing.

仅开启Tampermonkey

[Error] Unhandled Promise Rejection: TypeError: requestIdleCallback is not a function. (In 'requestIdleCallback((async()=>{const{getUID:e}=await Promise.resolve().then(n.bind(n,4742));e()&&we()}))', 'requestIdleCallback' is undefined)
	(匿名函数) (userscript.html:234:79928)
	asyncFunctionResume
	(匿名函数)
	promiseReactionJobWithoutPromise
	appendChild
	eval (common.js:8:137)
	(匿名函数) (content.js:135)
	E (content.js:135)
	(匿名函数) (content.js:129:302)
	f (topee-content.js:10543)
[Error] Failed to load resource: the server responded with a status of 404 () (index.905bdf7e.js.map, line 0)
[Log] [correspond] – {code: -101, message: "账号未登录", ttl: 1, …} (sentry-5.15.0.min.js, line 2)
{code: -101, message: "账号未登录", ttl: 1, data: null}Objectcode: -101data: nullmessage: "账号未登录"ttl: 1“Object”原型
[Error] Failed to load resource: the server responded with a status of 404 () (vendor.314a607f.js.map, line 0)
[Warning] The resource https://s1.hdslb.com/bfs/static/laputa-home/client/assets/vip-default-banner.6db4a7ed.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it wasn't preloaded for nothing.

@zhiyuanzhai
Copy link

看起来是反广告插件屏蔽了 b 站的用户日志上传, 和 Evolved 没啥关系

然而关闭广告插件并没有让Evolved活过来……

@the1812
Copy link
Owner

the1812 commented Jun 10, 2022

当然不是反广告的问题,上面也说了没啥关系了
根据 @Felix2yu 提供的日志,requestIdleCallback 仍然存在问题

@zhiyuanzhai
Copy link

zhiyuanzhai commented Jun 11, 2022

image

事实上我也找到了这个错误,前面我定错位了……

@mogeko
Copy link

mogeko commented Jun 11, 2022

我在实验性功能中开启 requestIdleCallback 后,脚本能部分可用:比如黑暗模式;

但是只能加载半个页面的内容:

截屏2022-06-11 21 05 57

以下是控制台的报错信息:

[Error] Failed to load resource: the server responded with a status of 404 () (vendor.1027721c.js.map, line 0)
[Error] Failed to load resource: the server responded with a status of 404 () (index.10286ded.js.map, line 0)
[Warning] The resource https://s1.hdslb.com/bfs/static/laputa-home/client/assets/vip-default-banner.6db4a7ed.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it wasn't preloaded for nothing.

@chenghaopeng
Copy link

if (!('requestIdleCallback' in window)) {
window.requestIdleCallback = (callback: TimerHandler) => window.setTimeout(callback, 0)
window.cancelIdleCallback = (handle: number) => {
window.clearTimeout(handle)
}
}

这个有做过兼容性处理的

不知道为什么这段代码没有起效。我在全局的位置(代码一开头)加了这些代码“window.requestIdleCallback=e=>window.setTimeout(e,0),window.cancelIdleCallback=e=>{window.clearTimeout(e)}”以后就可以正常使用了。

@Felix2yu
Copy link

Felix2yu commented Jul 8, 2022

if (!('requestIdleCallback' in window)) {
window.requestIdleCallback = (callback: TimerHandler) => window.setTimeout(callback, 0)
window.cancelIdleCallback = (handle: number) => {
window.clearTimeout(handle)
}
}

这个有做过兼容性处理的

不知道为什么这段代码没有起效。我在全局的位置(代码一开头)加了这些代码“window.requestIdleCallback=e=>window.setTimeout(e,0),window.cancelIdleCallback=e=>{window.clearTimeout(e)}”以后就可以正常使用了。

加入后确实就正常了,感谢

@kid-oh
Copy link

kid-oh commented Jul 18, 2022

if (!('requestIdleCallback' in window)) {
window.requestIdleCallback = (callback: TimerHandler) => window.setTimeout(callback, 0)
window.cancelIdleCallback = (handle: number) => {
window.clearTimeout(handle)
}
}

这个有做过兼容性处理的

不知道为什么这段代码没有起效。我在全局的位置(代码一开头)加了这些代码“window.requestIdleCallback=e=>window.setTimeout(e,0),window.cancelIdleCallback=e=>{window.clearTimeout(e)}”以后就可以正常使用了。

牛逼了 Safari亲测成功解决脚本失效问题 希望作者可以看一下

@QuantumRoseinAmethystVase

if (!('requestIdleCallback' in window)) {
window.requestIdleCallback = (callback: TimerHandler) => window.setTimeout(callback, 0)
window.cancelIdleCallback = (handle: number) => {
window.clearTimeout(handle)
}
}

这个有做过兼容性处理的

不知道为什么这段代码没有起效。我在全局的位置(代码一开头)加了这些代码“window.requestIdleCallback=e=>window.setTimeout(e,0),window.cancelIdleCallback=e=>{window.clearTimeout(e)}”以后就可以正常使用了。

没有完全起作用,动态按钮就显示不正常,全是空白内容,鼠标却能选中。

@CookieJaySJ
Copy link

正版软件受害者+1

正版软件受害者+1

@ChasYuan
Copy link

4.17.6162版本Tampermonkey
Safari依然无法正常使用

@zhiyuanzhai
Copy link

if (!('requestIdleCallback' in window)) {
window.requestIdleCallback = (callback: TimerHandler) => window.setTimeout(callback, 0)
window.cancelIdleCallback = (handle: number) => {
window.clearTimeout(handle)
}
}

这个有做过兼容性处理的

可能是一句废话:看起来

!('requestIdleCallback' in window)

在新版tampermonkey中不适用了,但是requestIdleCallback功能实际上还是没有开启。

@the1812 the1812 added the compatibility 兼容性问题 label Aug 22, 2022
@QuantumRoseinAmethystVase

预览版2.2.4已修复!!!!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility 兼容性问题
Projects
None yet
Development

No branches or pull requests