1、针对IOS机型,window.location.href 打开新页面后,返回不刷新的问题:
componentDidMount()或者useEffect()中加上以下代码:
window.addEventListener('pageshow', function (e) {
if (e.persisted) {
//to do
// 可以对整个页面window.location.reload(); 或者调具体的方法、接口等
}
});
2、处理 新开webview打开新页面, h5页面都不主动刷新问题
componentDidMount()或者useEffect()中加上以下代码:
window.addEventListener('visibilitychange', ()=>{
if (document.visibilityState == 'visible') {
//to do
}
});
3、Android键盘弹出时候,输入框滚动到可视区域
export const scrollInputIntoView = () => {
window.addEventListener('resize', () => {
if (
document.activeElement.tagName === 'INPUT' ||
document.activeElement.tagName === 'TEXTAREA'
) {
window.setTimeout(() => {
document.activeElement.scrollIntoViewIfNeeded();
}, 0);
}
});
};
4、iOS 时间不兼容问题,当把日期转换为时间戳时,如果月份小于10,则月份前必须加上0,否则报错
5、IOS端z-index兼容问题
当前元素设置:
-webkit-transform: translateZ(1px);
-moz-transform: translateZ(1px);
-o-transform: translateZ(1px);
transform: translateZ(1px);