adianadian
小狐狸
小狐狸
  • UID34939
  • 注册日期2010-12-23
  • 最后登录2010-12-25
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:6555回复:17

about:config设置选项

楼主#
更多 发布于:2010-12-23 16:16
最近有个小任务,需要涉及到about:config里设置选项的问题
小弟想问的是:

有没有JS函数可以获取里面的设置选项的值,只需要读取就可以了,不必有修改权限

请高手可以给小弟一些指点,最好是有每个函数的介绍~
小弟在这里先谢谢了!
adianadian
小狐狸
小狐狸
  • UID34939
  • 注册日期2010-12-23
  • 最后登录2010-12-25
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2010-12-23 16:16
Cye3s:好像没其它办法,网页能访问的浏览器数据有限....
用这浏览器看视频会给你们公司造成损失么
回到原帖

会的,因为公司也想在其他一些终端推广自己的产品
反正挺麻烦的
adianadian
小狐狸
小狐狸
  • UID34939
  • 注册日期2010-12-23
  • 最后登录2010-12-25
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2010-12-23 16:16
lord:干吗不走法律途径?回到原帖

考虑过也正在进行,但是法律可能有点慢吧
Cye3s
千年狐狸
千年狐狸
  • UID155
  • 注册日期2004-11-25
  • 最后登录2025-07-29
  • 发帖数1325
  • 经验98枚
  • 威望0点
  • 贡献值34点
  • 好评度15点
  • 社区居民
  • 忠实会员
3楼#
发布于:2010-12-23 16:16
好像没其它办法,网页能访问的浏览器数据有限....
用这浏览器看视频会给你们公司造成损失么
我很懒...
lord
非常火狐
非常火狐
  • UID6208
  • 注册日期2005-05-21
  • 最后登录2025-05-31
  • 发帖数641
  • 经验86枚
  • 威望0点
  • 贡献值12点
  • 好评度3点
  • 社区居民
  • 忠实会员
4楼#
发布于:2010-12-23 16:16
干吗不走法律途径?
心想事成,人生如梦
adianadian
小狐狸
小狐狸
  • UID34939
  • 注册日期2010-12-23
  • 最后登录2010-12-25
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2010-12-23 16:16
G.S.Alex:他们的这个定制浏览器和直接访问你们的页面有什么不同吗?

有没有围观地址?
回到原帖

他们定制的浏览器叫Kylo,是用来播放视频的,定制肯定有特殊的地方,但是这种特殊的地方不那么容易找,或者说如果能一次性找到一个本质性的差别就更好了,否则像navigator.userAgent这样的DOM属性很容易被修改,就侦测不到了
这两个都是美国公司,所以我们公司的主网址在国内目前还不能登
G.S.Alex
小狐狸
小狐狸
  • UID29379
  • 注册日期2009-06-30
  • 最后登录2011-11-10
  • 发帖数47
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2010-12-23 16:16
他们的这个定制浏览器和直接访问你们的页面有什么不同吗?

有没有围观地址?
adianadian
小狐狸
小狐狸
  • UID34939
  • 注册日期2010-12-23
  • 最后登录2010-12-25
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2010-12-23 16:16
Cye3s:网页无法访问FX的任何设置,不管用什么办法,除非FX有开放接口,比如版本号,OS版本,是否接受Cookies等

上面的代码只能在扩展或FX程序这一层调用的JS里用

你还不如说说你的任务是啥
回到原帖

是这样的,我们公司是个视频公司
有其他公司基于firefox开发了一个TV Web浏览器,也可以链接到我们公司的视频,我们要阻止他们的这种行为
所以要查找这种基于firefox的视频播放器和真正的firefox有什么区别,关于navigator.userAgent是有不同,但是这个很容易被改掉
我看到视频播放器中about:config里的设置有很多不同,他们有很多自己的设置,所以我想通过这个来区分是他们的播放器还是真正的firefox浏览器
代码是要在actionscript中调用一段js代码来获取firefox里面的一些属性,原来是获取DOM属性,但是这个就只剩下window.name和navigator.userAgent两个属性不同了,所以想看看有什么其他的途径
如果大哥知道有什么可能的办法,还望不吝赐教,小弟这里谢谢啦!
Cye3s
千年狐狸
千年狐狸
  • UID155
  • 注册日期2004-11-25
  • 最后登录2025-07-29
  • 发帖数1325
  • 经验98枚
  • 威望0点
  • 贡献值34点
  • 好评度15点
  • 社区居民
  • 忠实会员
8楼#
发布于:2010-12-23 16:16
网页无法访问FX的任何设置,不管用什么办法,除非FX有开放接口,比如版本号,OS版本,是否接受Cookies等

上面的代码只能在扩展或FX程序这一层调用的JS里用

你还不如说说你的任务是啥
我很懒...
G.S.Alex
小狐狸
小狐狸
  • UID29379
  • 注册日期2009-06-30
  • 最后登录2011-11-10
  • 发帖数47
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2010-12-23 16:16
adianadian
这么说,如果是仅仅用JS就可以调用了,对吗?
回到原帖
不是,是只有在作为firefox的扩展(像adblock\firebug之类的)的时候,才可以读取这些配置.
adianadian
小狐狸
小狐狸
  • UID34939
  • 注册日期2010-12-23
  • 最后登录2010-12-25
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2010-12-23 16:16
Cye3s:如果你想在网页里读配置,那是不可能的,这是隐私的东西,不可能开放接口给你回到原帖

这么说,如果是仅仅用JS就可以调用了,对吗?
Cye3s
千年狐狸
千年狐狸
  • UID155
  • 注册日期2004-11-25
  • 最后登录2025-07-29
  • 发帖数1325
  • 经验98枚
  • 威望0点
  • 贡献值34点
  • 好评度15点
  • 社区居民
  • 忠实会员
11楼#
发布于:2010-12-23 16:16
如果你想在网页里读配置,那是不可能的,这是隐私的东西,不可能开放接口给你
我很懒...
adianadian
小狐狸
小狐狸
  • UID34939
  • 注册日期2010-12-23
  • 最后登录2010-12-25
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2010-12-23 16:16
G.S.Alex:你这不是扩展啊.....回到原帖

小弟也没说是扩展啊
就是想通过JS函数来读取配置选项,但是那些函数还是不知道怎么用
G.S.Alex
小狐狸
小狐狸
  • UID29379
  • 注册日期2009-06-30
  • 最后登录2011-11-10
  • 发帖数47
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2010-12-23 16:16
你这不是扩展啊.....
adianadian
小狐狸
小狐狸
  • UID34939
  • 注册日期2010-12-23
  • 最后登录2010-12-25
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2010-12-23 16:16
GOLF-AT:var pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);

然后就可以用 pref 就可以读取 about:config 里的选项了,比如:
pref.getBoolPref('browser.cache.memory.enable'); //读取 bool 值
pref.getCharPref('browser.download.dir'); //读取 字符串 值
pref.getIntPref('browser.cache.offline.capacity'); //读取 整数 值

需注意,要读取的选项必须存在,如果不存在,就会发生异常,所以,为防止选项不存在发生异常,最好加上try catch
回到原帖


这就是小弟想要的,但是还是不会用

<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <script type=text/javascript>
    var pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
    var a = pref.getCharPref('app.chinaedition.channel');
    alert(a.toString());
    </script>
  </body>
</html>

这么写可以吗,配置里明明有app.chinaedition.channel这个选项,值为baidu.com,但是打开页面没有任何反应
还需要大哥指点下!
上一页
游客

返回顶部