Skip to content

[Feature] 希望抖音观看直播时 屏蔽提醒续灯牌这个直播间组件 #379

@478554126-png

Description

@478554126-png

先决条件

  • 本issue已加上标题
  • 我已经在这里找过我要提出的建议,并且没有找到相关问题

脚本名称

抖音优化

描述 & 解决方案

希望大佬可以看看代码 您在四月五号更新后 我原先一个下载视频图文的脚本和您的优化冲突 互斥 关掉其中一个另外一给就可以用 可不可以优化一下 如果冒犯了 大佬直接无视就可以了 这边是我这下载的代码 也是找git上的一个 然后通过deepseek加点自己想要的功能 这个下载脚本的代码最初版本我没保存 以下是deepseek给出的方案

现在,我们直接解决问题。既然你提供了“抖音优化”脚本的 GitHub 地址,我查看了它的代码,找到了冲突的根源。该脚本通过 @require 引入了几个大型库(如 @whitesev/utils、@whitesev/domutils 等),这些库在加载时可能会在全局对象(window)上挂载属性或函数。其中某个库内部定义了一个变量 r,与下载脚本中的某个变量名冲突。

更关键的是,该脚本使用了 // @run-at document-start,意味着它在页面最早期执行,并可能修改了 window 上的 Object.defineProperty、Function.prototype.apply 等原生方法(见代码中的 Hook 部分)。这种底层的修改可能会影响其他脚本的正常运行。

既然你希望两个插件都能用,且不愿意放弃“抖音优化”,那么最直接的方法是修改“抖音优化”脚本本身,而不是继续改下载脚本(因为下载脚本已经很干净了)。当然,如果你坚持只改下载脚本,我可以提供一个更极端的隔离方案,但可能影响下载脚本的部分功能(比如无法捕获网络请求)。

🎯 推荐方案:修改“抖音优化”脚本,消除冲突
这是最彻底的解决方式。你只需要在“抖音优化”脚本的最开头添加一行代码,强制清除可能存在的全局 r 变量。

打开油猴管理面板,找到“抖音优化”脚本,点击“编辑”。

在代码的最顶部(// ==UserScript== 区块之后,(function (DOMUtils, pops, Utils, Qmsg) { 之前)插入以下代码:

javascript
// 强制删除可能存在的全局变量 r,避免与其他脚本冲突
if (typeof r !== 'undefined') {
delete window.r;
}
var r = undefined; // 重新声明,但值置为 undefined,不影响内部逻辑
完整的修改后开头示例:

javascript
// ==UserScript==
// @name 抖音优化
// ... 其他元数据 ...
// ==/UserScript==

// 强制删除可能存在的全局变量 r,避免与其他脚本冲突
if (typeof r !== 'undefined') {
delete window.r;
}
var r = undefined;

(function (DOMUtils, pops, Utils, Qmsg) {
"use strict";
// ... 原有代码 ...
保存脚本,刷新抖音页面。

原理:该脚本内部某个依赖库在加载时可能意外地创建了一个全局变量 r(可能是一个函数或对象)。通过提前删除并重新声明为 undefined,可以避免下载脚本在检测到 r 已存在时报错。这不会破坏“抖音优化”的功能,因为它的内部代码并不依赖这个全局 r(它使用的是局部变量)。
这是下载视频的代码 若有冒犯 请直接无视 抱歉

新建文本文档.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions