这是啥
目前有很多网站通过判断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上,地址栏里面输入about:config
- 搜索框里面输入:general.platform.override ,如果有就修改值为: Android ,没有往下看
- 在空白处,右键->新建->字符串
- 输入值为: general.platform.override ,输入: Android
- 保存即可.刷新页面.
上面的步骤之后,可以按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的方式参考: 地址