V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
lisianthus

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

  •  
  •   lisianthus · Sep 11, 2022 · 3735 views
    This topic created in 1325 days ago, the information mentioned may be changed or developed.

    我目前在一家做电视机顶盒内容的公司工作,内容一般通过安卓的 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 replies    2022-09-15 10:52:00 +08:00
    laolaowang
        1
    laolaowang  
       Sep 11, 2022
    哈哈,慢慢来,会有很多头疼的兼容问题,尤其是 css
    makelove
        2
    makelove  
       Sep 11, 2022
    我也有个项目要兼容 10 年前的浏览器。不过我用 typescript ,设置目标 es3 就行,default 之类都会自动给你加引号
    lisianthus
        3
    lisianthus  
    OP
       Sep 11, 2022
    @laolaowang css 倒不怎么担心,基本没用流式布局,绝对定位一把梭,最多给一些动画和过渡效果加下浏览器前缀
    learnshare
        4
    learnshare  
       Sep 11, 2022
    电视盒子不是普遍 Android 4.* 么,大概是因为早期谁开源了这样的 demo ?
    lisianthus
        5
    lisianthus  
    OP
       Sep 11, 2022
    @learnshare 是的,电视 apk 套壳一般都是 Android 4.x ,可以让安卓开个调试开关,然后前端 adb + chrome://inspect 连进去调。还有种 iptv 盒子,是运营商魔改的浏览器,这种很难搞
    61162833
        6
    61162833  
       Sep 11, 2022
    tv 版的 app 是用 webview 实现的?使用起来和原生实现有多大区别?
    lisianthus
        7
    lisianthus  
    OP
       Sep 11, 2022   ❤️ 1
    @61162833 有些纯原生,有些套壳。原生性能好,套壳的话,不播视频的情况下还算流畅吧
    jchnxu
        8
    jchnxu  
       Sep 12, 2022
    太难了哈哈,当时我们有一个解决方案,就是给用户的电脑上 360 浏览器。即便是 xp 也至少 ie9 。不过看起来你们是不能这么做的
    xingguang
        9
    xingguang  
       Sep 13, 2022
    我有个项目要求兼容 IE8 ,给我烦死了,啥玩意都不能用,调试工具还是残废
    dtdths1
        10
    dtdths1  
       Sep 13, 2022
    哈哈,以前做过兼容 ie6 的浏览器打印,恐怖如斯
    newghost
        11
    newghost  
       Sep 13, 2022
    上 jquery1.x
    lin07hui
        12
    lin07hui  
       Sep 15, 2022
    上 zepto
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5791 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 06:45 · PVG 14:45 · LAX 23:45 · JFK 02:45
    ♥ Do have faith in what you're doing.