解决方法: 在失去焦点的时候给一个事件,使页面滚动条高度和当前一致。
例如:
getTop() {
setTimeout(() => {
var scrollHeight =
document.documentElement.scrollTop
|| document.body.scrollTop || 0;
window.scrollTo(0, Math.max(scrollHeight, 0));
}, 100);
}
坑点4:安卓微信H5弹出软键盘后挡住input输入框。
解决办法:给input和textarea标签添加focus事件,如下,先判断是不是安卓手机下的操作,当然,可以不用判断机型,Document 对象属性和方法,setTimeout延时0.5秒,因为调用安卓键盘有一点迟钝,导致如果不延时处理的话,滚动就失效了。
changefocus(){
let u = navigator.userAgent,
app = navigator.appVersion;
let isAndroid = u.indexOf(‘Android’) > -1
|| u.indexOf(‘Linux’) > -1;
if(isAndroid){
setTimeout(function() {
document.activeElement.
scrollIntoViewIfNeeded();
document.activeElement.scrollIntoView();
}, 500);
}``},
坑点5:微信jssdk中微信支付wx.chooseWXPay的支付签名时间戳。
微信jssdk中的所有使用timestamp字段均为小写。
但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符。
坑点6:IOS不支持new Date(“2019-01-01 00:00:00”) 这种格式。
var date =new Date(“2020-02-10 00:00:00”);
这种写法在pc和android都能正常使用,但是ios只支持var date =new Date(“2020/02/10”)这种写法。调试发现 2020/02/10 等同 2010-02-10 00:00:00 ,也就是说ios默认就是从0开始计算的,我们不需要设置后面的时分秒为 00:00:00。
坑点7:vue单页应用微信分享一直提示签名错误invalid signature。根据官方文档说是需要当前页面出去‘#hash’部分的链接,并且需要encodeURIComponent,可是安卓正常了,ios还是报错。
出现原因:页面进入的时候记录url,如果是iOS设备那么使用这个url获取微信签名。
解决方法:页面进入的时候记录url,如果是iOS设备那么使用这个url获取微信签名。
router.afterEach(to => {
sessionStorage.setItem(‘currentUrl’,window.location.href)
})
let url = encodeURIComponent(location.href.split(‘#’)[0])if(system == “iOS” && sessionStorage.getItem(‘currentUrl’)) {
url = encodeURIComponent(sessionStorage.getItem(‘currentUrl’).split(‘#’)[0])
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里免费领取,先到先得哦。
/topics/618191877),先到先得哦。**
[外链图片转存中…(img-2kC7cL61-1713803690100)]
[外链图片转存中…(img-w8kduc94-1713803690100)]