Browse Source

fix(scheduler): fix getNow check in IE9 (#9647)

fix #9632
dev
Felix Bünemann 6 years ago
committed by Evan You
parent
commit
da77d6a98b
  1. 13
      src/core/observer/scheduler.js

13
src/core/observer/scheduler.js

@ -47,10 +47,15 @@ let getNow: () => number = Date.now
// timestamp can either be hi-res (relative to page load) or low-res // timestamp can either be hi-res (relative to page load) or low-res
// (relative to UNIX epoch), so in order to compare time we have to use the // (relative to UNIX epoch), so in order to compare time we have to use the
// same timestamp type when saving the flush timestamp. // same timestamp type when saving the flush timestamp.
if (inBrowser && getNow() > document.createEvent('Event').timeStamp) { if (
// if the low-res timestamp which is bigger than the event timestamp inBrowser &&
// (which is evaluated AFTER) it means the event is using a hi-res timestamp, window.performance &&
// and we need to use the hi-res version for event listeners as well. typeof performance.now === 'function' &&
getNow() > document.createEvent('Event').timeStamp
) {
// if the event timestamp is bigger than the hi-res timestamp
// (which is evaluated AFTER) it means the event is using a lo-res timestamp,
// and we need to use the lo-res version for event listeners as well.
getNow = () => performance.now() getNow = () => performance.now()
} }

Loading…
Cancel
Save