0

Firefox 中有一个名为 User Agent Switcher 的插件,可以将网络服务用作 Google bot、Yahoo Slurp 或 Iphone/Android 用户。任何人都可以指导我如何在后台工作。它为执行此任务而修改的属性/属性是什么?

4

2 回答 2

2

用户代理切换器设置了一堆首选项

general.useragent.appName
general.appname.override
general.appversion.override
general.platform.override
general.useragent.override
general.useragent.vendor
general.useragent.vendorSub

这些替换了用户代理字符串的各个部分——就这么简单。其代码中的其他所有内容都是用户界面和选择逻辑。实际上,我不确定为什么选择这种复杂的方法:仅设置general.useragent.override就足够了,它的值将替换整个用户代理字符串。

您可以使用自己轻松创建该首选项about:config本文详细介绍了这些步骤。

于 2012-09-21T07:05:16.080 回答
0

让我回答弗拉基米尔帕兰特的回答中的问题。

简而言之,UserAgentSwitcher 的设计似乎遵循了过去已经过时的 firefox(或一般的浏览器)规范。

现在详细说明:根据MDN 关于 userAgent 的页面,Firefox 的用户代理是由 Wladimir 提到的组件构建的,如:userAgent = appCodeName/appVersion number (Platform; Security; OS-or-CPU; Localization; rv: revision-version-number) product/productSub Application-Name Application-Name-version.

但截至 2015 年 8 月,这是错误的;据我测试,用户代理只能被覆盖general.useragent.override,并且这些元素被忽略。

尽管如此,Javascript 还是公开了它们:

Javascript element      Firefox preference
navigator.appCodeName   ?
navigator.appName       general.appname.override
navigator.appVersion    general.appversion.override
navigator.platform      general.platform.override
navigator.product       ?
navigator.productSub    ?
navigator.vendor        general.useragent.vendor
navigator.vendorSub     general.useragent.vendorSub</code></pre>

MDN 的另一个页面说这些现在已从 Web 标准中删除,但大多数浏览器仍然支持它们。有关主要浏览器的典型值,请参见例如此站点。(这个页面是日文的,但那一定没问题。随意修改。)

Probably readers know that most sites change their behavior by checking the useragent value but it's merely a rule of thumb, not reliable both for web designers and page visitors.

于 2015-08-04T12:17:18.517 回答