各浏览器js环境常见的兼容问题polyfill罗列

罗列一些各浏览器的js兼容问题于此,大体只考虑主流浏览器,包括:chrome 77/safari 13/IE 11/edge/firefox,逐步收集,并不全面。

Date

对于new Date('2019-10-18T12:12:00')和new Date('2019-10-18 12:12:00'),只是中间是空格还是T作为分隔,chrome均支持,但safari和IE只支持前者。

string的startsWith()和endsWith()

chrome和safari均支持,但是IE不支持

string的padStart()和padEnd()

chrome和safari均支持,但是IE不支持

FormData

chrome上有append/get/set/forEach/keys/values/entries方法,safari 13以前只有append方法,safari 13及之后也有了这些方法,而IE 11上依然只有append方法,不过IE上写法不一样,支持formdata['key'] = value直接赋值。

document.currentScript

用于获取当前执行的js文件的加载信息,chromet和safari上均支持,而IE不支持

fetch

fetch('https://xxx.com/xxx.min.js').then(
    (res)=>res.text()
).then(
    (res)=>console.log(res)
)

chrome和safari支持,IE不支持

其他

像string.trim()、Array.isArray()、Object.keys(),目前基本所有浏览器都已支持。对于没有实现的函数,某些可以在https://polyfill.io 网站上找到实现。

发表于 2019年12月08日 23:37   评论:0   阅读:2109  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo