用户过滤

夜深人静,码耕不缀,调一些浏览器兼容性的问题
IE7、IE8、IE9、搜狗、TT、遨游,一路过关斩将,终于遇到了360这个流氓

3B大战之后,又连上了3Q大战,为了避免自家的浏览器被屏蔽掉,360抹掉了自家浏览器的一切UA特征,现在我看到的360浏览器的UA是这样的:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)

这和IE8浏览器的UA是没有任何区别的,我做了IE的兼容,但明显我用的360安全浏览器和IE8是不一样的

搜了一下,魔高一尺道高一丈,目前看到有一种好用的方法是判断_track、_style和v8locale这三个变量,如下:

 var _track = 'track' in doc.createElement('track'),
            _style = 'scoped' in doc.createElement('style'),
            _v8locale = 'v8Locale' in win,
if (_track && _style && _v8locale) return true;

以上代码摘录自前端静态资源-云淡然

不过浏览器的UA总是在变的,不能保证某一种方法的有效期是多长时间,有一句话说的好:用君子的方法,来对付流氓,是无能为力的。 在中国的互联网界,我们想要对付360这种流氓,往往也是无能为力的。

其实我和我的绝大部分朋友都是chrome\firefox\safari的忠实用户,很难想象我们会去用IE,就更难想象我们会去用搜狗、360、TT这些浏览器。很多时候,我们只是在惊叹于IE、搜狗、360居然在我国的浏览器市场上占有如此大的份额的情况下,开始并不情愿的做浏览器兼容的。这是一种无奈:我们在为我们根本不认同的事情花费时间与精力!

这让我想到前两天我在做博客的登陆界面的时候和朋友的交流:我为了界面的简洁设计,去参考知乎的登陆界面设计,然后我惊讶的发现知乎的注册页面是不需要输入两次密码的,而传统网站往往是需要一遍密码确认的。我问我的朋友为何如此设计,我朋友半开玩笑的说这是一种用户过滤:连密码都输不对的用户,也带不来什么有益的价值。 = _ =

也许,正是这样,我们在不断的为用户考虑的时候,其实任何一个网站也可以有选择用户的权利,我们的网站并不是用来普度众生的!

上知乎搜一搜360的相关讨论,貌似还有一些360的粉丝?看着这些人或客观或主观的评论,心也是蛮累的。确实,我的网站,不需要你们的访问

这个网站,不兼容360旗下浏览器