V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
lisianthus
V2EX  ›  JavaScript

关于老古董浏览器的前端兼容

  •  
  •   lisianthus · 2022-09-11 16:36:11 +08:00 · 3043 次点击
    这是一个创建于 828 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我目前在一家做电视机顶盒内容的公司工作,内容一般通过安卓的 webview 呈现,需要对盒子环境做兼容。除了只能写原生代码外,还会遇到一些兼容性问题,写起来很痛苦。

    贴下最近遇到的两个问题,大家有没有其他比较少见的兼容性问题可以分享下?

    // 1. 通过 style.xxx 设置样式无效
    var elem = document.getElementById('xxx');
    
    // 无效
    elem.style.top = "42px";
    // 手动触发下重排,依然无效
    setTimeout(function() {
        void(elem.offsetTop);
    }, 10);
    
    // 有效
    elem.style.cssText = "top: 42px";
    
    // 2. 定义和使用一些关键字报错,比如 default, catch 等
    // 报错
    var obj = { default: "xxx" };
    // 正常
    var obj = { "default": "xxx" };
    // 报错
    var value = obj.default;
    // 正常
    var value = obj["default"];
    
    12 条回复    2022-09-15 10:52:00 +08:00
    laolaowang
        1
    laolaowang  
       2022-09-11 16:50:28 +08:00
    哈哈,慢慢来,会有很多头疼的兼容问题,尤其是 css
    makelove
        2
    makelove  
       2022-09-11 17:03:13 +08:00
    我也有个项目要兼容 10 年前的浏览器。不过我用 typescript ,设置目标 es3 就行,default 之类都会自动给你加引号
    lisianthus
        3
    lisianthus  
    OP
       2022-09-11 17:05:53 +08:00
    @laolaowang css 倒不怎么担心,基本没用流式布局,绝对定位一把梭,最多给一些动画和过渡效果加下浏览器前缀
    learnshare
        4
    learnshare  
       2022-09-11 17:25:47 +08:00
    电视盒子不是普遍 Android 4.* 么,大概是因为早期谁开源了这样的 demo ?
    lisianthus
        5
    lisianthus  
    OP
       2022-09-11 17:44:10 +08:00
    @learnshare 是的,电视 apk 套壳一般都是 Android 4.x ,可以让安卓开个调试开关,然后前端 adb + chrome://inspect 连进去调。还有种 iptv 盒子,是运营商魔改的浏览器,这种很难搞
    61162833
        6
    61162833  
       2022-09-11 18:34:43 +08:00
    tv 版的 app 是用 webview 实现的?使用起来和原生实现有多大区别?
    lisianthus
        7
    lisianthus  
    OP
       2022-09-11 19:45:30 +08:00   ❤️ 1
    @61162833 有些纯原生,有些套壳。原生性能好,套壳的话,不播视频的情况下还算流畅吧
    jchnxu
        8
    jchnxu  
       2022-09-12 19:56:36 +08:00
    太难了哈哈,当时我们有一个解决方案,就是给用户的电脑上 360 浏览器。即便是 xp 也至少 ie9 。不过看起来你们是不能这么做的
    xingguang
        9
    xingguang  
       2022-09-13 09:55:08 +08:00
    我有个项目要求兼容 IE8 ,给我烦死了,啥玩意都不能用,调试工具还是残废
    dtdths1
        10
    dtdths1  
       2022-09-13 11:40:24 +08:00
    哈哈,以前做过兼容 ie6 的浏览器打印,恐怖如斯
    newghost
        11
    newghost  
       2022-09-13 14:38:18 +08:00
    上 jquery1.x
    lin07hui
        12
    lin07hui  
       2022-09-15 10:52:00 +08:00
    上 zepto
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5948 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:23 · PVG 10:23 · LAX 18:23 · JFK 21:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.