今天看到一篇《是龙王庙总免不了要被大水冲》,大概说的就是手机淘宝「误杀」Windows Phone 8.1 GDR1 的 IE 11 触屏页面。用户会卡在橘黄色的 splash screen 上。而真相是:
根据HTML5的规范,windows.history.replaceState接受3个参数,其中前2个参数必不可少。但是淘宝代码使用了Safari未符合HTML5标准的实现,代码调用replaceState函数时,只提供了1个参数,导致IE报Argument not optional错,并卡壳在起始页面。 (via)
此外就是那篇文章里说的,为了适配既有的网站,新版本IE对自己的UA字符串进行了扩充。从老版本IE11类似下面这样的形式
Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; Microsoft; Virtual) like Gecko
变成为
Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 930) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537
很明显多了 Android 和 iPhone 字样……各位通过 UA 检查访客浏览器的同学有没有菊花一紧?
在一个节操狂魔的知乎专栏下面有这么一段话:
知乎专栏工程师们长吁一口气,一看IE12的Edge Mode已经把我们的烂玩意全兼容了嘛,那我就不修了好了。。
你们感受一下,这是现在IE12的Edge Mode提供的UA:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36
。。。。简单来说就是一台Win10上的IE满世界告诉大家说我是Win7上的Chrome31和Safari最新版哦。。。人家才不是什么IE呢讨厌了啦羞羞(
(via)
IE 的如此妥协真是醉了。webkit 真要成为下一届 IE6 一样的存在了 =。=
https://msdn.microsoft.com/en-us/library/ie/dn736066(v=vs.85).aspx
1
JackNo1 2015-01-21 16:36:08 +08:00 via Android
Webkit Only的世界还不会真的要到来了吧。。 。
|
2
fuxkcsdn 2015-01-21 16:42:18 +08:00
上次S1上不是有个人狂喷IE修改UA这种不要脸的行为严重困扰前端人员吗,不知道这次它要怎么喷
|
3
ytzong 2015-01-21 16:46:48 +08:00
IE 一贯如此,你去查查历史,看看 UA 里那个 Mozilla 是怎么来的
|
5
ytzong 2015-01-21 17:57:16 +08:00 1
|
6
yautou 2015-01-21 18:31:26 +08:00
能用丧心病狂来形容吗?!2333333
|
7
6IbA2bj5ip3tK49j 2015-01-21 19:44:06 +08:00 1
chrome的UA:User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
大家都差不多,当IE是事实标准的时候,因为不兼容业界标准被骂。 当IE遵守业界标准,因为事实标准与业界标准不同,还是被骂。 原因只是因为微软不“酷”,微软不是“互联网企业”吧。 一大票webkit壳浏览器,加上分支出的blink,早晚会是下一个IE 6。 现在用着webkit私有属性感觉开发爽爽的,有朝一日,前端会为现在的爽买单的。 ps:貌似现在最规矩的浏览器就是FF和IE了。 |
11
codeplay 2015-01-22 20:19:38 +08:00
IE:没想到,我也有今天啊。
|
12
arrowna 2016-06-05 09:34:57 +08:00
webkit 真要成为下一届 IE6 一样的存在了
blink 要一统江湖的节奏么? |