我目前在一家做电视机顶盒内容的公司工作,内容一般通过安卓的 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
|