在 Firefox 中,我可以编写一段 JavaScript 代码(并将其分配给书签)来更改 about:config 参数吗?
问问题
574 次
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 回答