您的位置:首页 > Web前端 > JavaScript

IE9中调用window.performance.now()报错的问题

2017-11-27 09:17 786 查看
window.performance.now()
这句代码在IE9中会报错,报错原因是
对象不支持“now”属性或方法


既然IE9不支持此方法,那么就需要找到一种等价的方式来取得该数值,查阅MDN可知其功能为:

window.performance.now() 返回一个时间戳,以毫秒为单位,精确到千分之一毫秒.

该时间戳的值是从 window.performance.timing 接口的navigationStart属性中的时间戳值为起始点开始计时的


通过尝试可以知道IE9中支持
window.performance.timing.navigationStart
,因此可以用当前时间戳减去window.performance.timing.navigationStart即可得到
window.performance.now()
的近似值,虽然无法精确到千分之一毫秒,但也够用了。

可通过如下代码为IE9做适配:

var now = typeof window.performance.now === 'function' ?
window.performance.now() :
((+new Date()) - performance.timing.navigationStart);


注意,IE8不支持
performance.timing.navigationStart
属性,故此代码不适用与IE8。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript ie 9