V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laobubu
V2EX  ›  分享发现

IE 对 webkit 和 Android、 iPhone 的妥协看着也是醉了

  •  
  •   laobubu · 2015-01-21 14:28:11 +08:00 · 3338 次点击
    这是一个创建于 3627 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从手机淘宝开始

    今天看到一篇《是龙王庙总免不了要被大水冲》,大概说的就是手机淘宝「误杀」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 一样的存在了 =。=

    External Link

    https://msdn.microsoft.com/en-us/library/ie/dn736066(v=vs.85).aspx

    12 条回复    2016-06-05 09:34:57 +08:00
    JackNo1
        1
    JackNo1  
       2015-01-21 16:36:08 +08:00 via Android
    Webkit Only的世界还不会真的要到来了吧。。 。
    fuxkcsdn
        2
    fuxkcsdn  
       2015-01-21 16:42:18 +08:00
    上次S1上不是有个人狂喷IE修改UA这种不要脸的行为严重困扰前端人员吗,不知道这次它要怎么喷
    ytzong
        3
    ytzong  
       2015-01-21 16:46:48 +08:00
    IE 一贯如此,你去查查历史,看看 UA 里那个 Mozilla 是怎么来的
    xmvagrant
        4
    xmvagrant  
       2015-01-21 17:03:13 +08:00
    @ytzong 我也一直好奇UA里的那个 Mozilla 是怎么来的
    ytzong
        5
    ytzong  
       2015-01-21 17:57:16 +08:00   ❤️ 1
    yautou
        6
    yautou  
       2015-01-21 18:31:26 +08:00
    能用丧心病狂来形容吗?!2333333
    6IbA2bj5ip3tK49j
        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了。
    elvis_w
        8
    elvis_w  
       2015-01-22 11:33:47 +08:00
    @xgfan 所以说历史总是惊人的相似啊
    la0wei
        9
    la0wei  
       2015-01-22 15:28:52 +08:00
    @xgfan 坚定使用firefox
    JackNo1
        10
    JackNo1  
       2015-01-22 19:42:04 +08:00
    @la0wei 你不是一个人在战斗。
    codeplay
        11
    codeplay  
       2015-01-22 20:19:38 +08:00
    IE:没想到,我也有今天啊。
    arrowna
        12
    arrowna  
       2016-06-05 09:34:57 +08:00
    webkit 真要成为下一届 IE6 一样的存在了
    blink 要一统江湖的节奏么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4926 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:57 · PVG 11:57 · LAX 19:57 · JFK 22:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.