firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
阅读:3324回复:9

如何用脚本读取about:config中的信息

楼主#
更多 发布于:2010-08-16 11:03
尝试使用下面代码,发现没结果总是为-- é

Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch).getCharPref('greasemonkey.scriptvals.Concern/ShowConcernOnly.custom_ShowConcernOnly')||'';
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
1楼#
发布于:2010-08-16 11:03
Components.classes["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService).getCharPref(
    'greasemonkey.scriptvals.Concern/ShowConcernOnly.custom_ShowConcernOnly')

另外,about:config 中有 greasemonkey.scriptvals.Concern/ShowConcernOnly.custom_ShowConcernOnly 这个选项吗?至少我的电脑上没看到这个选项(有安装 greasemonkey)。
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
2楼#
发布于:2010-08-16 11:03
GOLF-AT
另外,about:config 中有 greasemonkey.scriptvals.Concern/ShowConcernOnly.custom_ShowConcernOnly 这个选项吗?至少我的电脑上没看到这个选项(有安装 greasemonkey)。
回到原帖


我自己写了一个油猴脚本https://www.firefox.net.cn/forum/viewtopic.php?p=218011,把一些关键词放到这里边了。所以有这个选项。

现在我想在鼠标手势中调用它,读取这个配置信息,并调用搜索引擎搜索之。代码如下

var focusedWindow = document.commandDispatcher.focusedWindow;
var sel = "间客|重生之官道|官居一品|狩魔手记|铁骨|上品寒士|宋阀|重生之衙内|唐骑|重生之大涅磐|医道官途|重生之心动|武装风暴|重生官商路";
//focusedWindow.getSelection.call(focusedWindow); 
sel = Components.classes["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService).getCharPref("greasemonkey.scriptvals.Concern/ShowConcernOnly.custom_ShowConcernOnly");
  BrowserSearch.loadSearch(sel, true);


比较遗憾的是,楼上的这段代码好像仍然不起作用,不知何故……
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
3楼#
发布于:2010-08-16 11:03
刚刚又试了一下:如果其中内容为英文字符OK,对于中文内容不能正确读出,不知道这个问题能否解决?
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
4楼#
发布于:2010-08-16 11:03
当代码包含中文时,文件必须要用 UTF-8 格式保存。
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
5楼#
发布于:2010-08-16 11:03
prefs.js 本身是UTF无BOM编码的

我用的鼠标手势扩展Mouse Gestures Redox,发现手表手势是定义在profile\mozgest3\gestures3.js,改为UTF

杯具了:所有的鼠标手势都丢了,貌似这个扩展不认UTF?
halffog
小狐狸
小狐狸
  • UID32571
  • 注册日期2010-04-15
  • 最后登录2013-07-19
  • 发帖数87
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2010-08-16 11:03
参考此帖http://bbs.operachina.com/viewtopic.php?f=41&t=84451


var focusedWindow = document.commandDispatcher.focusedWindow;
var sel = "间客|重生之官道|官居一品|狩魔手记|铁骨|上品寒士|宋阀|重生之衙内|唐骑|重生之大涅磐|医道官途|重生之心动|武装风暴|重生官商路";
//focusedWindow.getSelection.call(focusedWindow);
sel = Components.classes["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService).getCharPref("greasemonkey.scriptvals.Concern/ShowConcernOnly.custom_ShowConcernOnly");
sel = escape(sel);

//选择其一
//gBrowser.selectedTab = gBrowser.addTab("http://www.google.com.sg/search?q="+sel);
BrowserSearch.loadSearch(decodeURI(sel), true);
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
7楼#
发布于:2010-08-16 11:03
非常感谢!

用escape、decodeURI之后搞定

给出的参考贴去参考了,但没弄明白咋回事儿

请叫GOLT-AT、halffog两位,我想继续提高点对firefox及javascript的水平该从何入手?
halffog
小狐狸
小狐狸
  • UID32571
  • 注册日期2010-04-15
  • 最后登录2013-07-19
  • 发帖数87
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2010-08-16 11:03
我自己参考那个帖子里的写法的,给我自己做个提醒而已

另:Goaf-at 大大才是老大,他发的那个我一个也看不懂
我只是个js菜鸟哈,js写的得乱七八糟,勿怪勿怪。。。
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
9楼#
发布于:2010-08-16 11:03
有问题时,可以看看 https://developer.mozilla.org/enhttp://www.w3school.com.cn/,很多东西我都在这里查找。
游客

返回顶部