在Firefox中使用用户代理切换器

时间:2012-09-19 10:31:17

标签: firefox firefox-addon user-agent user-agent-switcher

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

2 个答案:

答案 0 :(得分:2)

用户代理切换器设置了一堆preferences

  

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自行轻松创建该偏好设置,this article详细介绍了这些步骤。

答案 1 :(得分:0)

让我回答Wladimir Palant's answer中的问题。

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

现在详细信息:根据MDN's page on userAgent,Firefox的useragent是根据Wladimir提到的组件构建的,如:userAgent = appCodeName/appVersion number (Platform; Security; OS-or-CPU; Localization; rv: revision-version-number) product/productSub Application-Name Application-Name-version

但截至2015年8月,它的错误;只要我测试过,useragent只能从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's another page表示这些已从Web标准中删除,但大多数浏览器仍然支持它们。有关主要浏览器的典型值,请参阅示例this site。 (这个页面是日文的,但一定没问题。随意修改。)

可能读者知道大多数网站通过检查使用者价值来改变他们的行为,但它只是一个经验法则,对网页设计师和网页访问者来说都不可靠。