我想通过 Firefox 外部的脚本更改特定的 about:config 属性的值。
你们有人尝试过吗?我读到过你可以修改“prefs.js”,但我想知道是否有更简单、更正确的方法。例如,也许是:
- Firefox 可执行文件的命令行参数(在这种情况下可以使用批处理文件)
- 注册表设置(.reg 文件即可)
答案1
prefs.js文件中的注释:
# Mozilla User Preferences
/* Do not edit this file.
*
* If you make changes to this file while the application is running,
* the changes will be overwritten when the application exits.
*
* To make a manual change to preferences, you can visit the URL about:config
* For more information, see http://www.mozilla.org/unix/customizing.html#prefs
*/
也就是说,你应该能够使用该应用程序编辑该文件关闭,新的设置将会在启动时生效。
但是,这取决于您要修改的设置:我不认为注册表或命令行选项会为您提供相同的设置。注册表设置更多是针对系统的,而不是针对每个用户的;并且命令行参数将为您提供应用程序的特定实例开关,例如窗口大小和要加载的配置文件等。
如果您知道要更改的特定设置,您可以使用正则表达式在 prefs.js 文件中搜索它(我选择使用 VBScript)使用替换设置编写新文件,然后重命名/删除文件,以便新的 prefs.js 替换前一个。
答案2
以下是如何为一台或多台 Linux 计算机编写 FireFox 自定义脚本的方法
- 备份文件 ~/.mozilla/firefox/mr8jxm35.default/prefs.js
- 通过 about:config 自定义 Firefox
- 将备份与实际的 prefs.js 进行比较
- 根据所需的自定义创建脚本
客户火狐浏览器
#!/bin/sh
function SetFirefoxPref() {
for PropName in "$@"; do
LINE=$(grep -n "$PropName" ~/.mozilla/firefox/mr8jxm35.default/prefs.js | cut -f1 -d:)
sed -i $LINE"s/true/false/" ~/.mozilla/firefox/mr8jxm35.default/prefs.js
echo $PropName
done
unset PropName
unset LINE
}
SetFirefoxPref \
"browser.download.useDownloadDir" \
"browser.fixup.alternate.enabled" \
"browser.urlbar.trimURLs" \
"general.warnOnAboutConfig" \
"keyword.enabled"
您可以从 /etc/profile 调用脚本,以确保所有当前用户或新用户都具有相同的自定义设置 - 您还可以包括代理的设置等
答案3
受到https://superuser.com/a/575367/773792,我编写了一个小脚本,可以任意更改用户偏好的值,而不是简单地将它们从设置true
为“false”。示例
PREFS_FILE=~/.mozilla/firefox/abc123def.default-release/prefs.js
set-pref $PREFS_FILE browser.tabs.closeWindowWithLastTab false # changed from true
set-pref $PREFS_FILE places.frecency.bookmarkVisitBonus 100 # changed from 75
set-pref $PREFS_FILE my.weird.attribute true # this didn't exist before
查找脚本这里。