有些网站坚持要禁用页面上选择文本的功能,从而破坏可用性和可访问性。网站可以通过 CSS 或 JavaScript 来实现这一点(示例页面)。
有没有什么方法可以在 Firefox 中禁用此功能,以便用户无论网页如何尝试禁用它,始终都可以选择文本?
全局禁用 JavaScript 并不是解决方案,因为它会破坏许多网站。
答案1
首先,这是一个好问题——我也注意到了这一点,这让我非常恼火。
解决方案取决于网站如何禁用文本选择。正如您所写,这可以使用 CSS 或 JavaScript 来实现。
通过 CSS 禁用
该网站最有可能使用CSS 属性“用户选择”.
user-select: none;
将禁用文本选择。
要解决此问题,您必须更改网站使用的 CSS 样式。可以通过运行以下小 JavaScript 代码段来完成:
document.styleSheets[0].insertRule("* { user-select:text !important }", 1);
这将插入一个新的 CSS 规则,覆盖页面的“用户选择”设置。
运行此代码:将其粘贴到浏览器开发者工具的 JavaScript 控制台中(然后按 Enter 键),或者使用用户脚本管理器。
通过 JavaScript 禁用
这可能比较棘手,因为有多种方法可以做到这一点。大多数方法都涉及为鼠标或选择事件注册事件处理程序,但有多种事件和多种注册方法,因此很难给出一般规则。
务实的解决方案可能是暂时禁用 JavaScript。
然而,如今我见过的大多数禁用选择的网站都是通过 CSS 来实现的。
答案2
为了避免在控制台中输入代码,您可以使用书签。在 URL 位置使用以下代码创建书签:
javascript:(function(){javascript:document.styleSheets[0].insertRule("* { user-select:text !important }", 1);})();