阅读:2780回复:11
我的扩展提交检测,提示:警告: Extensions should not alter preferences in the `general.useragent.` preference branc具体相关代码: 警告: Extensions should not alter preferences in the `general.useragent.` preference branch content/lib.js 789 var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);var sLocale = prefs.getCharPref("general.useragent.locale"); if (sLocale !="zh-CN" && sLocale !="zh-TW") 不让用general.useragent,那用什么方法替代呢?在早期的版本上是可以的。 我将general.useragent改成'gene' + 'ral.useragent'这样可以避开自动检测工具,但是在人工审查的时候还是被发现了。 检测结果页面: https://addons.mozilla.org/zh-CN/developers/upload/12a3b7ad06c5468c99a97e5d60cd515e |
|
1楼#
发布于:2014-01-18 17:38
说的是不应该更改(alter),而不是不让用
看你的代码片段只是取值,并没有更改 检测结果页面看不了 可能是只有你自己可见 |
|
|
2楼#
发布于:2014-01-18 20:01
图片:89090.jpg ![]() 谢谢楼上的回答,您帮我再看看呢。 |
|
3楼#
发布于:2014-01-18 20:33
图片:QQ截图20140118203201.jpg ![]() 我其实就是想获取下当前浏览器的语言,不知道是否有其他方法 |
|
4楼#
发布于:2014-01-18 20:37
这不是一样嘛
再说这个也只是警告 具体看你的扩展要这个值做什么 可能能用其他方式实现 一定要用这个方式的话,直接和审核的沟通看看? |
|
|
5楼#
发布于:2014-01-18 21:25
发现多了一个3楼……
取locale的目的是为了多国语言界面的话 https://developer.mozilla.org/en/docs/Building_an_Extension#Localization https://developer.mozilla.org/en/docs/Localizing_an_extension https://developer.mozilla.org/en/docs/Mozilla/Localization/Localizing_extension_descriptions The current app locale will be searched for and then there will be a fallback search for en-US. |
|
|
6楼#
发布于:2014-01-18 23:18
aaaa007cn:发现多了一个3楼……上面的这些我知道的,是否有可通过代码来获取这个值呢。 var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); var sLocale = prefs.getCharPref("general.useragent.locale");这是我知道的一种方法。可以取得zh-CN和n-US这样的值。 |
|
7楼#
发布于:2014-01-19 00:13
不明白你为什么执着于通过代码获取……
prefs中只有general.useragent.locale保存locale信息 翻了下,addon sdk也是查询这个值的 https://github.com/mozilla/addon-sdk/blob/master/lib/sdk/l10n/locale.js |
|
|
8楼#
发布于:2014-01-19 09:07
aaaa007cn:不明白你为什么执着于通过代码获取……我在alert里面弹出消息的,要根据浏览器语言来显示中文还是英文,还是其他什么的。 不是直接xul固定模式那样的。 |
|
9楼#
发布于:2014-01-19 16:30
|
|
|
10楼#
发布于:2014-01-19 19:14
aaaa007cn:看来你没有仔细看5楼第2个链接懂了,原来还是利用xul,让系统启动时自动加载跟浏览器一致的语言文字,然后直接调用。 这样的话跟用到这个变量再去获取的方法相比会一直占着内存,怪不得火狐占用内存大呢。 |
|
11楼#
发布于:2014-02-13 23:08
理論上你能獲取,就能修改,即便你確實只是拿來作為判斷,但檢測器無法判定那麼詳細,同樣審核者也不一定會看到那麼詳細,所以得到的結論就是只要企圖呼叫比較關鍵的物件,就先默認擋下來吧…
|
|