原生代码及JS兼容性

新写了官网。由于之前官网项目引入JQuery,bootstrap, 和swiper,而且也只是用了部分的功能。性价比不高, 加载过程太慢。这次全部推倒自己实现。倒是发现了不少兼容问题。用框架太久了都快忘了原生怎么写了。

CSS

  1. UC 浏览器中text-align: center最后一行无效
    • 解决办法:在父元素加上:text-align-last:center

js

  1. 获取当前点击的元素
    e.currentTarget // 当前被绑定事件的元素

  2. 移动端报错调试
    移动端没有console,可以用window.onerror统一查看报错。要放在所有JS的前面。

  3. 获取元素在页面中的位置
    document.offsetTop // 所有浏览器都支持

  4. 获取当前页面滚动高度
    IE6/7/8/9/10
    - 对于没有doctype声明: document.body.scrollTop
    - 对于有doctype声明:document.documentElement.scrollTop
    Chrome && Firefox: document.documentElement.scrollTop
    Safari: window.pageYOffset

    • 兼容代码:var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
  5. 页面滚动功能

函数/属性 Chrome IE Edge Firefox Safari Android webview Safari on iOS
window.scrollTo(x,y) // 滚动至x,y Yes No Yes Yse No Yes No
window.scrollBy(x,y)// 滚动了x,y Yes No Yes Yes No Yes No
  • 现在scrollTo可以兼容safari, IE适用window.pageXOffset(IE 兼容性未验证)

你可能感兴趣的:(原生代码及JS兼容性)