我目前在一家做电视机顶盒内容的公司工作,内容一般通过安卓的 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"];
1 laolaowang 2022-09-11 16:50:28 +08:00 哈哈,慢慢来,会有很多头疼的兼容问题,尤其是 css |
![]() | 2 makelove 2022-09-11 17:03:13 +08:00 我也有个项目要兼容 10 年前的浏览器。不过我用 typescript ,设置目标 es3 就行,default 之类都会自动给你加引号 |
![]() | 3 lisianthus OP @laolaowang css 倒不怎么担心,基本没用流式布局,绝对定位一把梭,最多给一些动画和过渡效果加下浏览器前缀 |
![]() | 4 learnshare 2022-09-11 17:25:47 +08:00 电视盒子不是普遍 Android 4.* 么,大概是因为早期谁开源了这样的 demo ? |
![]() | 5 lisianthus OP @learnshare 是的,电视 apk 套壳一般都是 Android 4.x ,可以让安卓开个调试开关,然后前端 adb + chrome://inspect 连进去调。还有种 iptv 盒子,运营商魔改的浏览器,这种很难搞 |
![]() | 6 61162833 2022-09-11 18:34:43 +08:00 tv 版的 app 是用 webview 实现的?使用起来和原生实现有多大区别? |
![]() | 7 lisianthus OP ![]() @61162833 有些纯原生,有些套壳。原生性能好,套壳的话,不播视频的情况下还算流畅吧 |
![]() | 8 jchnxu 2022-09-12 19:56:36 +08:00 太难了哈哈,当时我们有一个解决方案,就是给用户的电脑上 360 浏览器。即便是 xp 也至少 ie9 。不过看起来你们是不能这么做的 |
![]() | 9 xingguang 2022-09-13 09:55:08 +08:00 我有个项目要求兼容 IE8 ,给我烦死了,啥玩意都不能用,调试工具还是残废 |
10 dtdths1 2022-09-13 11:40:24 +08:00 哈哈,以前做过兼容 ie6 的浏览器打印,恐怖如斯 |
![]() | 11 newghost 2022-09-13 14:38:18 +08:00 上 jquery1.x |
![]() | 12 lin07hui 2022-09-15 10:52:00 +08:00 上 zepto |