firefox中有一个名为User Agent Switcher的插件,可将Web服务用作Google bot,Yahoo Slurp或Iphone / Android用户。 任何人都可以指导我如何在后台工作。 它修改以执行此任务的属性/属性是什么?
答案 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。 (这个页面是日文的,但一定没问题。随意修改。)
可能读者知道大多数网站通过检查使用者价值来改变他们的行为,但它只是一个经验法则,对网页设计师和网页访问者来说都不可靠。