Firefox:修改navigator.platform的值

这是啥

目前有很多网站通过判断navigator.platform的值来处理用户使用的是电脑还是手机,判断JS代码如下(当然你也可以使用这样的方式判断,只是不一定有用):

           var system = {
                win: false,
                mac: false,
                x11: false
            };
            var p = navigator.platform;
            system.win = p.indexOf("Win") == 0;
            system.mac = p.indexOf("Mac") == 0;
            system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
            if (system.win || system.mac || system.xll) {
                // 电脑就跳转到另外一个站.
                window.location.href = "https://www.bckf.cn";
            }

遇到一个网站使用了navigator.platform+user agent的方式来判断用户是否使用电脑或者手机,有时候我们又想在电脑上使用这个网站(比如很多小一点的视频网站,只能手机看,也许是手机可以关注微信把)。

那么如何破解呢,往下看。

firefox标志

破解方法

大概几步:

  1. 在Firefox上,地址栏里面输入about:config
  2. 搜索框里面输入:general.platform.override ,如果有就修改值为: Android ,没有往下看
  3. 在空白处,右键->新建->字符串
  4. 输入值为: general.platform.override ,输入: Android
  5. 保存即可.刷新页面.

上面的步骤之后,可以按f12在控制台输入 navigator.platform 看下输出的字符是否是刚才修改的.

修改 navigator.platform 有一个限制(参考官方):

在普通网页中,如果about:config中存在general.platform.override项,则该属性的值会返回about:config中general.platform.override项的值. 在特权代码中 (chrome上下文或者拥有”UniversalBrowserRead”特权的网页中),返回的还是真实的平台类型.(译者注:语句:netscape.security.PrivilegeManager.enablePrivilege(“UniversalBrowserRead “)用来激活所在网页的UniversalBrowserRead特权.)

如果还是不行,就需要借助User-Agent Switcher这个Firefox扩展了.安装这个扩展,然后选择移动端的User-Agent就可以了.

我就是通过修改general.platform.override和User-Agent Switcher来解决访问某个网站被跳转的问题.

P:

修改navigator.platform的方式参考: 地址

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据