V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yafoo
V2EX  ›  程序员

ios 浏览器、webview 简直就是手机端的 IE6,你有同感吗?

  •  1
     
  •   yafoo ·
    yafoo · Mar 19, 2020 via Android · 7038 views
    This topic created in 2243 days ago, the information mentioned may be changed or developed.
    最近一年做前端开发,各种在电脑和安卓手机上显示正常的样式,到苹果手机就不行了,各种错位与不正常,苹果就是手机端的 IE6,垃圾的很,不知道那些天天吹苹果手机的人怎么想的?

    天天都在搞苹果兼容,input 不能自动聚焦、各种点击无反应、输入法键盘收回后页面内容悬着不会下来,页面元素点击错位、fixed 定位限制、iframe 限制,滚动卡顿、absolute 定位问题、层级问题,真是垃圾。这两天又被一个问题难住了,两天了,感觉完全无解。
    53 replies    2020-03-23 21:38:07 +08:00
    wittyfans
        1
    wittyfans  
       Mar 19, 2020 via iPhone
    额,用户体验来说,我觉得 safari 还是蛮好用的,流畅无广告。
    pikaconan
        2
    pikaconan  
       Mar 19, 2020   ❤️ 6
    吹苹果手机的当然不会从开发者角度吹啊...退一步说,IE6 垃圾难道就不能吹 Windows 么
    crella
        3
    crella  
       Mar 19, 2020 via Android
    其实不是很懂 chrome 和 firefox 主要都更新了些什么。

    虽然我存了一个 chrome 60 版本,已经很多网站打开时排版错乱了或者弹窗提示要升级浏览器了。

    是不是一直在给 css 和 js 擦屁股?
    wangyzj
        4
    wangyzj  
       Mar 19, 2020
    ie6 不至于
    我 ios 主力就是 Safari,挺好的
    Torpedo
        5
    Torpedo  
       Mar 19, 2020
    ios 主要是 10.3 那个版本。还有 fixed 定位、uiwebview 的滚动这种比较坑。
    MaxZ
        6
    MaxZ  
       Mar 20, 2020 via iPhone
    @wangyzj 你 ios 哪个浏览器底层都是 Safari
    iConnect
        7
    iConnect  
       Mar 20, 2020 via Android
    Safari 中 input 聚焦自动放大屏幕是什么鬼,搞到边距不知道设置多少合适(囧😓)
    anguiao
        8
    anguiao  
       Mar 20, 2020 via Android
    主要是很多人一直不升级 iOS 版本,Safari 也就跟着升不了了。
    learningman
        9
    learningman  
       Mar 20, 2020 via Android
    @crella 新技术新特性。
    比如说 preload 列表一直要更新,http2/3 之类的
    newtype0092
        10
    newtype0092  
       Mar 20, 2020
    我用了 xcode 之后才知道大厂做的 IDE 也是会经常 crash 的。。。
    dremy
        11
    dremy  
       Mar 20, 2020 via iPhone   ❤️ 1
    出这么多兼容性问题,会不会是自己的实现不规范不标准导致的?毕竟是与 Chrome 同源的 webkit 引擎,差异不会特别大的
    SunriseFox
        12
    SunriseFox  
       Mar 20, 2020 via Android   ❤️ 3
    @dremy 差异很大,多个 2 年前 chrome/ff 就支持的新标准 Safari 还不支持,多个用户提了 3 年的 Safari 的 Bug 到现在还没修。
    XnEnokq9vkvVq4
        13
    XnEnokq9vkvVq4  
       Mar 20, 2020
    看来谁也阻挡不了 Google 霸占浏览器标准了
    yafoo
        14
    yafoo  
    OP
       Mar 20, 2020 via Android   ❤️ 2
    @dremy 我说个最简单的问题:input 聚焦,弹出输入法,输入完,输入法收回,页面元素应该跟着滑下来。但是 ios 上页面元素还在空中悬着,造成点击的触发位置跟实际元素不对应,造成无法点击。网上搜索后,解决方案是,input 失去焦点时,用 js 控制页面滚动 1 像素,因为滚动一下,页面就显示正常了。这个问题,最新的苹果手机都存在。这种最基本的点击触发坐标都能错位,感觉连 IE6 都不如。
    mcfog
        15
    mcfog  
       Mar 20, 2020 via Android
    @dremy 那是老黄历了,七年前 chrome 就自己搞了 blink 了
    littlebaozi
        16
    littlebaozi  
       Mar 20, 2020
    前端以为摆脱了 ie,结果来到移动端还有兼容性问题
    murmur
        17
    murmur  
       Mar 20, 2020   ❤️ 1
    safari mobile 简直是人 间 之 屑
    lookas2001
        18
    lookas2001  
       Mar 20, 2020
    还有一堆特性 safari mobile 不支持。
    要是 chrome 能统一全平台,让开发者少调点 bug,我👐赞同,可是你 apple 就是有自己的想法。
    loading
        19
    loading  
       Mar 20, 2020 via Android
    可能是 ie6,但你是不是没有经历过同时兼容 ie 6789 ?
    ganbuliao
        20
    ganbuliao  
       Mar 20, 2020
    没办法 每个厂都有点自己的想法
    marcong95
        21
    marcong95  
       Mar 20, 2020   ❤️ 1
    @anguiao #8 iOS 是升级率最高的系统了吧,隔壁 Android 还要厂家自己适配,再隔壁 Windows 还有忠实 XP 党。。
    dbskcnc
        22
    dbskcnc  
       Mar 20, 2020
    草果的水平也就那样了,吃独食的结果, 放开内核的限制的话我想它基本不会有市场,可惜欧盟为什么不告它垄断,windows 可是捆绑了一下 ie 就有问题,ios 直接不让你用其它的浏览器竟然没问题
    bgm004
        23
    bgm004  
       Mar 20, 2020 via Android
    webview 这个锅主要还是手机厂家背。全靠用户手动更新(以前部分手机还得改包名)。
    mokevip
        24
    mokevip  
       Mar 20, 2020
    楼主说的大部分碰到过,最坑的是还总有 ios9 的用户出现问题,当然也是兼容没做好。。。但我们公司的确没有 ios9 可以测试啊。。。。。。每次项目上线,总有一些 ios9 用户出各种问题,没有实体机的我只能听着描述盲猜问题出现在哪
    Building
        25
    Building  
       Mar 20, 2020
    Safari 只是 Bug 多,而 IE6 完全是不兼容。
    Nicoco
        26
    Nicoco  
       Mar 20, 2020
    @dbskcnc 支持
    whypool
        27
    whypool  
       Mar 20, 2020
    简直是辣鸡,希望 chrome 能全霸占,干掉辣鸡 safari
    ios 能有点 b 数,打不过就加入,没啥丢人的
    lkxjlkejwr
        28
    lkxjlkejwr  
       Mar 20, 2020
    电脑上的 Chrome 调对也不代表原生安卓的 Chrome 就没有问题呀... 虽然 Safari 的确要单独兼容
    vitozyf
        29
    vitozyf  
       Mar 20, 2020
    不是 Safari 的问题,Safari 本身很好用。
    vitozyf
        30
    vitozyf  
       Mar 20, 2020
    你说的 webview 是嵌套在 ios 软件中的网页打开形式,苹果本身不想在软件内嵌套网页,影响 app 体验,webview 组件故意这样搞的不好用的
    hoyixi
        31
    hoyixi  
       Mar 20, 2020
    倒逼啊,只要开发者一直兼容 IE6,那总有人坚守 IE6。

    你干脆不兼容 iOS WebView,不就得了。
    mars0prince
        32
    mars0prince  
       Mar 20, 2020
    主要很多人不升级 ios,安卓用户一般都老老实实跟着系统升级,苹果用户就。。。我身边很多人还在用 ios10,说是省电
    anguiao
        33
    anguiao  
       Mar 20, 2020 via Android
    但是 Android 的浏览器是可以单独升级的,iOS 就不行了。
    sm0king
        34
    sm0king  
       Mar 20, 2020   ❤️ 3
    哦 ,那你没遇到华为 之类的内置浏览器,Android 的 微信、qq 浏览器,加油兄弟,要解决的问题多呢,看你遇到的问题,都还好,还会有更多~ 而且现在应该不用兼容低配置的 Android 了,那个更痛苦。iOS 的其实算是好的,因为它就一个 iOS 版的 Safari,到 Android 平台,内置 webview 的各种版本、各大浏览器应用的各种版本 各不相同. . .
    murmur
        35
    murmur  
       Mar 20, 2020
    @vitozyf webview 玩起来比 safari 活,特定版本我可以定制一些行为来避免 safari 里面的一些 bug,比如决定当软键盘弹出的时候,是压缩窗口大小,还是把页面推上去
    ByteRan
        36
    ByteRan  
       Mar 20, 2020
    恶心的是每次 IOS 更新 wkwebiew 都有可能带来新的 BUG。
    yafoo
        37
    yafoo  
    OP
       Mar 20, 2020 via Android
    @sm0king 安卓端,不兼容,我们换 x5 内核了。苹果端也能换就好了
    Finest
        38
    Finest  
       Mar 20, 2020
    @hoyixi #31 这样的应用苹果能给你上架?
    sm0king
        39
    sm0king  
       Mar 20, 2020
    @yafoo 这~~ 这方法好,直接只做 X5 兼容就好了 好像 X5 问题也蛮多的,不过只做一个的兼容轻松很多。Safari 慢慢玩儿, 不要相信 Chrome 的模拟器
    cuzfinal
        40
    cuzfinal  
       Mar 20, 2020 via Android
    微信也是
    xianxiaobo
        41
    xianxiaobo  
       Mar 20, 2020
    华为和小米的内置浏览器也很垃圾,webview 这个东西做点简单的还行,复杂的还是用原生吧。
    slanternsw
        42
    slanternsw  
       Mar 20, 2020
    @lookas2001 Chrome 一统还是算了,现在就敢扫你硬盘不清自己家 cookie 以后什么干不出来。
    dingwen07
        43
    dingwen07  
       Mar 20, 2020
    @xianxiaobo 那多半是因为国内厂商没有 Play 商店,WebView 没有及时更新
    系统内置浏览器内核这点安卓比 iOS 好,至少更新不随系统,说起来这点 iOS 确实很像 ie
    dorentus
        44
    dorentus  
       Mar 20, 2020 via iPhone
    Chrome 才是新时代的 IE。

    IE 当年还是很先进的,后来才过时了。IE 支持一些很好用的但是别的浏览器不支持的功能。
    dorentus
        45
    dorentus  
       Mar 20, 2020 via iPhone
    如果所有浏览器都兼容 IE 6,开发起来也不会有问题。当年也有人是像你看待 Safari 这样看待 firebird/firefox 的。
    dorentus
        46
    dorentus  
       Mar 20, 2020 via iPhone
    搞前端开发的不关注页面性能我现在也都能理解了🤦🏻

    连做浏览器兼容性适配都觉得难了么?当年可是 IE 一家独大、提供了很多不在标准内的功能、而 IE 6 又很臭名昭著地不支持很多标准化的东西,所以才会这么痛苦。

    现在呢?只是 Chrome 稍微激进了一些,做了一些不在标准内的功能,然后其它浏览器内核暂时没有跟上而已吧
    shpasspass
        47
    shpasspass  
       Mar 20, 2020
    iphone6 的 safari 和微信里的浏览器不支持箭头函数。。。这很坑爹
    webshe11
        48
    webshe11  
       Mar 20, 2020
    当年搞了个开源的小工具,iPhone 上照着 MDN 搞了 2 天就是不行,最后不做了,睡大觉
    除非有人点 star
    zhw2590582
        49
    zhw2590582  
       Mar 21, 2020 via iPhone
    之前看到一个信息,说 ios 有个协议,所有在 ios 运行的浏览器,都要用 Safari 做底层,意思是 ios 上的 Chrome 其实也是 Safari 套了一个壳
    dier
        50
    dier  
       Mar 21, 2020 via iPhone
    @wittyfans 本来我也觉得 safari 挺好的,去年看新闻,safari 会把浏览信息传给鹅厂,最近 safari 访某些网站果然提示被鹅厂判断为不安全网站,果断换成 chrome 了
    wanguorui123
        51
    wanguorui123  
       Mar 21, 2020 via iPhone
    除了兼容性 Bug 多了点,其他还是比较好用
    ZeoKarl
        52
    ZeoKarl  
       Mar 21, 2020 via iPhone
    @zhw2590582 #49 没错,iOS 上面所有商店可以下载到的浏览器都是系统默认的 WebView 包了一个皮😂
    dorentus
        53
    dorentus  
       Mar 23, 2020 via iPhone
    @shpasspass babel 不香么?另外和手机型号没关系,只和系统版本有关系(因为浏览器内核是和系统绑定的,这点道确实挺像 IE 的;但和微软不同,苹果推用户升级新版本还是很卖力的)

    @dier 不是协议,是单方面的“规范”。实际操作上可以绕过苹果的检测,但是由于苹果的限制,不用 Webkit 就没有 JIT,性能损失很大,大家才没有选择自己内嵌一个引擎。

    JIT 的事情,我支持苹果的限制。因为只要苹果开放 dymanic_codesign 的权限,我们分分钟就能给你把整个 app 都做成空壳化……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   859 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 164ms · UTC 20:47 · PVG 04:47 · LAX 13:47 · JFK 16:47
    ♥ Do have faith in what you're doing.