Javascript navigator.userAgent始终在Firefox中显示相同的代理

时间:2014-01-20 13:43:59

标签: javascript firefox user-agent

我正在使用Firefox的Modify Headers plugin来更改用户代理。 我需要这样做(用于测试)的原因是加载不同的CSS,具体取决于它是iOS还是Android手机。

运行此脚本

  <script type="text/javascript">
    var agent = navigator.userAgent.toLowerCase();
    alert(agent);
  </script>

我总是得到这个输出:

  

mozilla / 5.0(windows nt 6.1; wow64; rv:26.0)gecko / 20100101   火狐/ 26.0

即使我在Thunderbird中可以看到以下内容:

  

User-Agent:Mozilla / 5.0(iPad; CPU OS 5_1,如Mac OS X)   AppleWebKit / 534.46(KHTML,与Gecko一样)Version / 5.1 Mobile / 9B176   Safari浏览器/ 7534.48.3

这是Firefox特有的问题吗?

1 个答案:

答案 0 :(得分:1)

通过标头修改用户代理确实会改变服务器看到的UA字符串。

但是,这并不意味着您实际上正在更改浏览器知道的用户代理字符串。

您正在通过javascript查询UA字符串;这将在浏览器中获取实际的UA字符串;与已发送到服务器的标头无关。

如果要正确覆盖UA字符串,则有firefox extensions that specialise in doing so。我建议你使用其中一个,而不是通用的头覆盖扩展。