• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yafoo
V2EX  ›  程序员

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

  •  1
     
  •   yafoo ·
    yafoo · Mar 19, 2020 via Android · 7611 views
    This topic created in 2420 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
    wittyfans
    Mar 19, 2020 via iPhone
    1
    额,用户体验来说,我觉得 safari 还是蛮好用的,流畅无广告。
    pikaconan
    pikaconan
    Mar 19, 2020❤️6
    2
    吹苹果手机的当然不会从开发者角度吹啊...退一步说,IE6 垃圾难道就不能吹 Windows 么
    crella
    crella
    Mar 19, 2020 via Android
    3
    其实不是很懂 chrome 和 firefox 主要都更新了些什么。

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

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

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

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

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

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

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

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