0

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

4

2 回答 2

1

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

于 2012-06-02T00:37:59.517 回答
1

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

它作为 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 执行此操作的,因此查询选择器可能会有所不同。这里的一切都绝对适用于 Firefox。该插件适用于 seamonkey、firefox 和 Thunderbird。

于 2016-01-28T18:33:36.150 回答