在火狐浏览器中通过书签更改about:config参数

Alter about:config parameter via bookmarklet in Firefox

本文关键字:about config 参数 书签 火狐浏览器      更新时间:2023-09-26

在 Firefox 中,我可以编写一段 JavaScript 代码(并将其分配给书签)来更改 about:config 参数吗?

不,你不能。 当您单击书签时,书签以您正在查看的网页的权限运行,并且网页无法更改用户首选项...

由于书签栏和菜单所在的上下文,您不能这样做,但也许您会想查看"自定义按钮:"https://addons.mozilla.org/en-US/firefox/addon/custom-buttons/

它作为XUL覆盖层在"chrome"上下文中运行,因此可以访问about:config设置。

这是我制作的一个示例脚本,该脚本将 HTML 标头中未指定编码时的"回退字符编码"更改为日语的"Shift_JIS":

(主代码选项卡)

/* toggle between SHIFT_JIS and 'default for locale' character encoding. */
var prefsManager = Components.classes["@mozilla.org/preferences-service;1"]
                    .getService(Components.interfaces.nsIPrefBranch);
var defaultCharEncoding = prefsManager.getCharPref( "intl.charset.fallback.override" );
if ( defaultCharEncoding !== "Shift_JIS" ) {
/* change button icon to the hiragana 'あ'. Originally I had a base64 encoded PNG here. */
    document.querySelector('toolbarbutton#custombuttons-button1.toolbarbutton-1.chromeclass-toolbar-additional').image="file:///path/to/icon/a-jp1.svg";
    prefsManager.setCharPref("intl.charset.fallback.override","Shift_JIS");
} else {
/* can't use clearUserPref() on the default branch */
    prefs = prefsManager.getBranch("intl.charset.fallback.");
/* set button icon to the letter 'a'. Originally I had a base64 encoded PNG here. */
    document.querySelector('toolbarbutton#custombuttons-button1.toolbarbutton-1.chromeclass-toolbar-additional').image="file:///path/to/icon/a-en1.svg";
/* reset the 'intl.charset.fallback.override' entry to it's default (blank) */
    prefs.clearUserPref("override");
}

请注意,我为 seamonkey 执行此操作,因此查询选择器可能会有所不同。这里的所有内容也绝对适用于火狐。该插件适用于seamonkey,firefox和thunderbird。