Firefox 禁用 DRM 提示
以下按钮可供你方便地引用本文。URL 中即使域名变化,其后的路径也将始终指向原本的内容。
https://css.celestialy.top/p/4b43cc5e4
[Firefox 禁用 DRM 提示 | clsty 的网络空间站](https://css.celestialy.top/p/4b43cc5e4)
[[https://css.celestialy.top/p/4b43cc5e4][Firefox 禁用 DRM 提示 | clsty 的网络空间站]]
你想要 DRM Free 吗?
Firefox 内置了对 DRM 的支持,并且提供了禁用它的选项;但只要你禁用它,Firefox 就会弹出提示来烦你。本文能让你摆脱这一困扰。
背景
DRM(Digital Rights Management)是一种针对多媒体的鉴权加解密系统,主要为了保护版权方的利益,代价却是消费者因此不能真正拥有其所获得的内容,而只能是“租借”。因此,笔者更赞同 DRM Free 的理念。
Firefox 网络浏览器内置了 DRM 支持1,并且提供了禁用它的选项。
但是,如果你真的禁用了它,就会发现在打开一些页面,比如 Bilibili 上的某个电影时(注意同一页面可能只有第一次才会提示),还是可能跳出打开 DRM 的提示。
方法
Firefox 的设置界面没有直接关闭这个提示的方法,但是我们可以通过修改 userChrome.css
来定制 Firefox 的界面,进而达成关闭此提示的目的。
具体步骤如下:
- 打开
about:config
,将toolkit.legacyUserProfileCustomizations.stylesheets
的值设为 true。 - 在 Firefox 的 profile 目录下新建 chrome 文件夹。
- 以防你不知道 profile 目录,你可打开
about:support
查看 profile directory 的值。
- 以防你不知道 profile 目录,你可打开
- 在 chrome 文件夹下新建
userChrome.css
文件。编辑内容为:
应当注意,开头不要加
1@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
这是因为,虽然它仍然挂在 http://kb.mozillazine.org/UserChrome.css 这个页面上,但实测加了它反而会导致上面的那个配置无效。
原因据说是,Firefox 已经从 XUL 更换到更标准的网络技术栈,由于旧的 XUL 命名空间可能不适用于新的 UI 元素,所以这一句可能导致问题。
原理
这个提示,是 Firefox 用户界面的一部分(即,并不是网页的一部分),所以要对 Firefox 用户界面本身进行修改。
这就要用到 userChrome.css
了。当然,得先在 about:config
中启用它。
然后,我们是如何得知具体的 CSS 规则是要针对谁的呢?
- 即如何获知
notification-message[value="drmContentDisabled"]
方法是:
- F12 打开开发者面板,面板右上方三点里找设置(齿轮图标)。
- 再从 Advanced settings 里勾选“Enable browser chrome and add-on debugging toolboxes”和“Enable remote debugging”。
- 此时再按
Ctrl+Alt+Shift+I
来打开 Browser Toolbox, 同意调试之后,会发现多出来一个窗口, 这个窗口里面就可以找到 Firefox 界面中的元素了(使用方法类似在浏览器用 F12 调出的开发者工具)。
定位到 drm 相关的,可以发现通知所在的代码部分中有一句:
1<notification-message xmlns="http://www.w3.org/1999/xhtml" message-bar-type="infobar" dismissable="" value="drmContentDisabled" type="info" style="" class="animated"><div></div></notification-message>
这就是上面那个配置的依据了。