我正在使用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特有的问题吗?
答案 0 :(得分:1)
通过标头修改用户代理确实会改变服务器看到的UA字符串。
但是,这并不意味着您实际上正在更改浏览器知道的用户代理字符串。
您正在通过javascript查询UA字符串;这将在浏览器中获取实际的UA字符串;与已发送到服务器的标头无关。
如果要正确覆盖UA字符串,则有firefox extensions that specialise in doing so。我建议你使用其中一个,而不是通用的头覆盖扩展。