在Firefox中更新用户代理

时间:2013-05-16 08:46:35

标签: javascript firefox http-headers user-agent

我想在浏览时更改我的用户代理并在网站上显示更改。 我已经有一个打印UserAgent的网站,只需使用JS document.writeln(navigator.userAgent)

当我使用Chrome加载此页面时,它会显示我的默认UA(假设为abc)。当我将其更改为xyz并刷新(Ctrl + F5)时,它会显示新的UA xyz。 太棒了,这正是我想要的!

现在如果我对Firefox做同样的事情,显示的UA将不会更新。 所以我加载了abc作为我的UA的页面,我将其更改为xyz,刷新网站(再次没有缓存)但它仍显示abc

Apache日志和Wireshark都显示在HTTP标头中传输的UA实际上是新的xyz

你们有谁知道这里发生了什么?

2 个答案:

答案 0 :(得分:1)

这是设计的。来自MDN

  

在Firefox中,您可以在about:config中更改首选项general.useragent.override。一些Firefox扩展会这样做;但是,这只会更改发送的HTTP标头,并且不会影响JavaScript代码执行的浏览器检测。

答案 1 :(得分:0)

正如你们中的一些人建议我已经阅读了导航器对象,而不是实际的HTTP标头,谢谢!

我用PHP解决了它:

    <?php
        $header=getallheaders();
        foreach ($header as $name => $value) 
        {
            echo "$name: $value<br/>";
        }
    ?>

或者只是

    <?php
        $header=getallheaders();
        $ua=$header["User-Agent"];
        echo "$ua<br/>";
    ?>