安卓 5 和 6 的白屏解决
最近在工作中遇到了低端设备 chrome,显示异常,记录下来
css var 缺失
import cssVars from "css-vars-ponyfill";
cssVars({
onlyLegacy: true,
watch: true, // 监听变量变化并动态更新样式,默认为 true
});
grid 失效
.fix {
display: grid;
grid-row-gap: var(--audio-panel-grid-container-row-gap);
grid-column-gap: var(--audio-panel-grid-container-column-gap);
grid-template-columns: repeat(
var(--audio-panel-grid-container-col-count),
1fr
);
}
{
width: calc(100% / 6 - 8px);
}
getBoundingClientRect
在低版本中没有 x y 属性
所以需要用 left 和 top 属性替代 x y
position: absolute
低版本 left right top bottom 即使为 0 也要写
{
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
append
append 在 53 以下浏览器都不能使用
替换为 appendChild
proxy
低版本浏览器 不支持 proxy
需要引用
import ProxyPolyfillBuilder from "proxy-polyfill/src/proxy";
const proxyPolyfill = ProxyPolyfillBuilder();
this.broadcasts = window.Proxy
? new Proxy({}, broadcastsHandler)
: new proxyPolyfill({}, broadcastsHandler);
但这也不是一定能够解决的,因为浏览器没有实现这个特性 ,所以只能处理简单的 一些比较复杂的 则不行
最后更新于
这有帮助吗?