user.js
首选项文件为用户提供了多少权力以及它如何更详细地工作
我尝试在谷歌上搜索该信息,但找不到任何具有描述性的内容。
据我所知,user.js 是一个 JavaScript 文件,在浏览器启动时执行一次,并覆盖之前设置的所有首选项。
我感兴趣的是你是否可以使用任何可以在其他 javascript 文件中使用的逻辑。
简单的
if-else
语句放在此文件中时会被执行吗?
它是否能够使用在浏览器中执行时可用的 JavaScript 函数(如 setTimeout
)?
你可以像其他js文件一样使用构造吗?我的意思是编写你自己的函数和变量等。
或者 js 这个名字是骗人的,没有任何 js 功能吗?
它看起来就像一个 JavaScript 文件。曾经在 Netscape 3 甚至 4 中确实如此,但现在它只是一个带有 .js 扩展名和非常受限制的语法的文件,由单独的(非 JS)解析器解析并且不以任何方式执行。
据我所知,您只能从 user.js 调用 pref() 和 *user_pref()* 函数。我尝试根据星期几进行一些条件首选项,但所有未用这些功能加注星标的行都被忽略。
当时,我也找不到任何关于该文件使用的好的文档,但对于我的测试,该文件的使用仅限于这两个函数。
对于系统管理员非常有用,他们可以通过 .XPI 包添加自定义的 user.js 文件,但不适合做花哨的事情。
我想我们可以做这样的事情:
function disableAllTelemetry
{
user_pref(...);
user_pref(...);
user_pref(...);
...
}
我创建了一个像这样的存储库设置,其中的部分由文件顶部的一些变量切换:
https://github.com/jeremy-neale/user.js
由于除了脚本中定义的函数之外,这不会调用任何其他函数,因此我认为这样的函数会起作用。如果有人发现其他情况请告诉我。
不确定是否使用其他内置 JavaScript 函数来执行类似
setTimeout
之类的操作。