问题描述
希望在 Firefox 中设置一个黑名单,阻止特定 URL(如 youtu.be
和 youtube.com
)在打开时调用 YouTube 应用。用户提到,虽然他不介意大多数链接通过专用应用打开,但这两个 URL 除外。用户有两个理由:一是 YouTube 应用存在广告问题,二是 YouTube 应用不支持后台播放和纯音频模式,而 Firefox 支持这些功能。
解决方案
方案1:更改应用默认行为
虽然 Firefox 自身没有提供直接添加到“Open links in apps”黑名单的功能,可以通过更改应用默认行为来间接实现这一目标。具体步骤如下:
- 进入应用信息设置:
- 打开 YouTube 应用。
点击右上角的三个点图标,选择“应用信息”。
更改默认行为:
- 在“应用信息”页面中,找到“打开支持的链接”选项。
如果有此选项,请选择“每次询问”或“从不”。
测试:
- 在 Firefox 中尝试点击
youtu.be
或youtube.com
链接,检查是否仍然会打开 YouTube 应用。
方案2:使用 uBlock Origin 进行拦截
由于 uBlock Origin 可以拦截特定的 URL,可以考虑使用 uBlock Origin 来阻止这些 URL 在 Firefox 中自动打开 YouTube 应用。以下是具体步骤:
- 安装 uBlock Origin:
如果尚未安装 uBlock Origin,可以从 Firefox Add-ons 页面下载并安装。
创建自定义过滤规则:
- 打开 uBlock Origin 的扩展管理界面。
- 在“规则”选项卡中,点击“编辑规则”。
- 添加以下规则:
||youtube.com^
||youtu.be^ 保存规则。
测试:
- 在 Firefox 中尝试点击
youtu.be
或youtube.com
链接,检查是否被拦截。
方案3:使用用户脚本进行拦截
如果上述方法仍无法满足需求,可以考虑使用用户脚本来拦截特定 URL。以下是一个简单的用户脚本示例:
- 创建用户脚本文件:
- 在 Firefox 的用户脚本管理器中创建一个新的用户脚本。
复制并粘贴以下代码:
“`javascript
// ==UserScript==
// @name Prevent YouTube Links
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 阻止特定 YouTube 链接在 Firefox 中打开 YouTube 应用
// @author 你的名字
// @match ://.youtube.com/
// @match ://.youtu.be/
// @grant none
// ==/UserScript==(function() {
‘use strict’;
window.addEventListener(‘DOMContentLoaded’, function() {
var links = document.querySelectorAll(‘a[href=”youtube.com”]’)
.concat(document.querySelectorAll(‘a[href=”youtu.be”]’));
links.forEach(function(link) {
link.addEventListener(‘click’, function(event) {
event.preventDefault();
window.open(this.href);
});
});
}, false);
})();
“`测试:
- 保存脚本并在 Firefox 中尝试点击
youtu.be
或youtube.com
链接,检查是否被拦截。
请注意,上述脚本会直接打开链接,而不是通过 YouTube 应用。这可能会影响用户体验,因此请谨慎使用。
通过上述方法,用户可以有效地控制特定 URL 在 Firefox 中的行为,避免它们通过 YouTube 应用打开。