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

我说另请高明吧,我实在我也不是谦虚。我一个 web 开发怎么背 ios8 的锅呢?

  •  
  •   fe619742721 · 2018-01-19 15:26:31 +08:00 · 7686 次点击
    这是一个创建于 2282 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我绝对不知道,我作为一个 web 开发怎么就踩到 ios8 浏览器不能解析 json 文件的坑里面去了,所以售前同我讲话,说“客户都已经发现啦,你来背这个锅”,我说另请高明吧,我实在我也不是谦虚。我一个 web 开发怎么背 ios8 的锅呢?但是呢,售前同志讲“大家已经研究决定了”,所以后来我就念了两句诗,叫“
    第 1 条附言  ·  2018-01-19 16:00:28 +08:00
    背锅只是玩梗而已,大家不要纠结于谁的锅的问题了。。
    只是吐槽一下踩到了没想到的坑里面,我们主业产品不考虑兼容性,这次给以前的东西加了个 i18n 方案就遭了道。。
    ResidualSoils
        1
    ResidualSoils  
       2018-01-19 15:34:37 +08:00
    yinzhili
        2
    yinzhili  
       2018-01-19 15:37:00 +08:00
    learnshare
        3
    learnshare  
       2018-01-19 15:37:37 +08:00
    iOS 8 ?快给客户买台新手机送过去啊
    crulor
        4
    crulor  
       2018-01-19 15:39:21 +08:00
    上面错了,下面重新开始
    yidinghe
        5
    yidinghe  
       2018-01-19 15:39:41 +08:00
    chenyj
        6
    chenyj  
       2018-01-19 15:40:56 +08:00
    c6h6benzene
        7
    c6h6benzene  
       2018-01-19 15:41:21 +08:00
    piaochen0
        8
    piaochen0  
       2018-01-19 15:41:31 +08:00
    ldyfree
        9
    ldyfree  
       2018-01-19 15:41:33 +08:00 via Android
    kera0a
        10
    kera0a  
       2018-01-19 15:41:40 +08:00
    没搞明白 ios8 浏览器解析 json 这个问题是啥问题?
    是说你们网页运行在 ios8 浏览器上 不能解析你们请求接口返回的 json ?
    如果是,那是 web 开发的锅吧?~
    murmur
        11
    murmur  
       2018-01-19 15:42:50 +08:00
    奇怪 ie8 都带 json.parse ios8 不支持?
    wangt21
        12
    wangt21  
       2018-01-19 15:42:55 +08:00 via Android
    hzw94
        13
    hzw94  
       2018-01-19 15:43:04 +08:00
    楼主大概是广东人
    yag
        14
    yag  
       2018-01-19 15:43:36 +08:00
    断了继续
    tongz
        15
    tongz  
       2018-01-19 15:43:57 +08:00
    fe619742721
        16
    fe619742721  
    OP
       2018-01-19 15:45:09 +08:00
    @kera0a 哈哈,我主要是突出一个没想到
    是在页面通过$.getJson 引入一个语言包 json 文件,发现在其他手机上能够正常解析显示,在 ios8 和 ios9 的浏览器里就不行,客户报过来的时候我也莫名其妙的,在我这在哪都好使啊。。
    后来为了复现找移动端拿各个版本的手机测试才发现在 ios8 和 9 上不行,主要是我们之前想不到会有这么一个坑
    c9
        17
    c9  
       2018-01-19 15:45:33 +08:00
    以,岂因祸福避趋之

    不客气。
    ysjdx
        18
    ysjdx  
       2018-01-19 15:46:48 +08:00
    这难道不应该是测试的锅??
    kera0a
        19
    kera0a  
       2018-01-19 15:46:54 +08:00
    @fe619742721 唉,理解~ 浏览器差异兼容各种坑一直是一件非常恶心的事!
    denano
        20
    denano  
       2018-01-19 15:47:26 +08:00

    好奇什么浏览器不能解析 json
    viator42
        21
    viator42  
       2018-01-19 15:47:35 +08:00
    文膜延年益寿,乱膜命减三年
    dishonest
        22
    dishonest  
       2018-01-19 15:48:22 +08:00
    应该你你的锅。。兼容性测试没做好
    fe619742721
        23
    fe619742721  
    OP
       2018-01-19 15:48:27 +08:00
    @ysjdx @murmur 哈哈,背锅只是玩梗,主要是突出一个没想到会踩进这么一个坑里,看起来很正常的写法,居然在这里吃瘪了
    crab
        24
    crab  
       2018-01-19 15:48:49 +08:00
    @hzw94 是因为 “同我讲” 吗
    dishonest
        25
    dishonest  
       2018-01-19 15:49:08 +08:00
    测试也有问题。如果你们有专业测试的话。
    laoyuan
        26
    laoyuan  
       2018-01-19 15:49:36 +08:00
    我就问一句,是不是 PHP ?
    Pastsong
        27
    Pastsong  
       2018-01-19 15:52:28 +08:00 via Android
    iOS 8 不能解析 JSON 我怎么不知道

    另外应对浏览器差异也是开发工作内容啊,这锅想甩给谁
    fe619742721
        28
    fe619742721  
    OP
       2018-01-19 15:52:43 +08:00
    @laoyuan 是 JS 用一个 jquery 的 i18n 方案 通过 jquery 的$.getJson 引入读取 json 文件
    tyrealgray
        29
    tyrealgray  
       2018-01-19 15:52:52 +08:00 via Android
    Safari ? 这锅肯定得你背啊
    fe619742721
        30
    fe619742721  
    OP
       2018-01-19 15:55:45 +08:00
    @dishonest @Pastsong 背锅只是玩梗啦,主要是没想到会踩进这样的坑里面。
    我们测试是不测低版本 ios 的,用的人也很少,这次是新增了一个依赖 jquery 的 i18n 方案,引入国际化的语言包 json 的时候出错了,我们的主要产品是不考虑兼容性的,所以平时基本不会去关注这种 尤其是低版本移动端的问题,要不是有移动端的人拿出设备排查,还真找不到这个问题
    liuxu
        31
    liuxu  
       2018-01-19 15:56:10 +08:00
    这个是前端的锅,处理兼容问题一直应该由前端开发解决。
    BoiledEgg
        32
    BoiledEgg  
       2018-01-19 15:59:34 +08:00
    浏览器兼容性问题不是 web 开发来背锅,那谁来背,至少 80%的锅,另外 20%归售前没有想到要跟客户列明产品应用平台,需要的运行环境。然而售前的这些信息也应该来自于开发。
    Pastsong
        33
    Pastsong  
       2018-01-19 15:59:59 +08:00
    @fe619742721 事实上 iOS 4 上 Safari 就支持 JSON.parse 了 https://caniuse.com/#feat=json
    chairuosen
        34
    chairuosen  
       2018-01-19 16:00:31 +08:00
    甩锅不能含糊的甩出去,要给出最小复现环境测试用例以及测试结果,能够证明这是 io8 的问题才可以。不可以用发生在 ios8 上就是 ios8 的问题,为理由来逃避责任。
    palxex
        35
    palxex  
       2018-01-19 16:01:34 +08:00
    我觉得最好看看是不是带 BOM 的锅。
    fe619742721
        36
    fe619742721  
    OP
       2018-01-19 16:08:28 +08:00
    @chairuosen 测试方式是 ios11 ios10 ios9 ios8 安卓 PC 各个浏览器,发现只在 ios8 和 9 的各个浏览器上出现了 读取不到 json 内容的情况,修改不通过 getJson 引入 json 文件,而是直接把 json 内的内容作为变量储存在 js 内以后就可以了
    逃避责任之类的就更不用提了,本来是个影响不大的小问题,排查出来改掉就 ok,背锅也只是玩梗而已,主业不是这个
    chairuosen
        37
    chairuosen  
       2018-01-19 16:15:27 +08:00
    @fe619742721 你的测试方法只是黑盒定位了问题在 iOS8 上,没找到具体原因。要知道 getJson 只是 xhr 的一个封装,然后内部把返回值字符串解析成 js 对象吐出来,与你手写一样的。你的解决方式只是绕过了这个问题
    zpf124
        38
    zpf124  
       2018-01-19 16:24:34 +08:00
    这种 bug 好像低版本的 ie 也会触发, 我记得低版本的 ie 会吧 json 当成文件下载。
    hjdtl
        39
    hjdtl  
       2018-01-19 16:31:21 +08:00
    ios10 比 ios8 不知道高到哪里去了
    huang303513
        40
    huang303513  
       2018-01-19 16:31:47 +08:00
    iOS8 不支持 ES6 语法。这个大坑曾经也坑了我好久。
    fe619742721
        41
    fe619742721  
    OP
       2018-01-19 16:36:00 +08:00
    @chairuosen 额 是的,并没有定位到问题的具体原因,只是先找了个方法绕过去了。
    chairuosen
        42
    chairuosen  
       2018-01-19 16:38:50 +08:00
    @fe619742721 我猜问题是这样,getJSON 是调 xhr 时候传了 Accept:application/json, text/javascript,但是返回文本是 text/plain,iOS8 检验比较严格直接认为返回值无效。
    LeungJZ
        43
    LeungJZ  
       2018-01-19 16:39:05 +08:00
    @huang303513
    将 es6 不 babel 就放到正式环境,心这么大?现在很少浏览器支持的,无论怎样,都不能直接上线 es 6 的代码。
    LeoNG
        44
    LeoNG  
       2018-01-19 16:40:43 +08:00
    你们都错了,楼主想念的诗是:
    微笑中透露着妈卖批
    fe619742721
        45
    fe619742721  
    OP
       2018-01-19 16:42:29 +08:00
    @chairuosen 我有空查一查这个,确实挺奇怪的
    Building
        46
    Building  
       2018-01-19 19:09:10 +08:00 via iPhone
    iOS 的 Web 解析引擎好像每个版本都会有些小问题,上个问题这个版本修好了,又出来其他小问题,而你,无可奈何!
    likuku
        47
    likuku  
       2018-01-19 19:44:25 +08:00
    "我们测试是不测低版本 ios 的"
    "我们的主要产品是不考虑兼容性的"

    这些谁拍板决定的,就谁来背锅呗~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2882 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:16 · PVG 22:16 · LAX 07:16 · JFK 10:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.