Преглед на файлове

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

fix #9632
Felix Bünemann преди 7 години
родител
ревизия
da77d6a98b
променени са 1 файла, в които са добавени 9 реда и са изтрити 4 реда
  1. 9 4
      src/core/observer/scheduler.js

+ 9 - 4
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
 // (relative to UNIX epoch), so in order to compare time we have to use the
 // same timestamp type when saving the flush timestamp.
-if (inBrowser && getNow() > document.createEvent('Event').timeStamp) {
-  // if the low-res timestamp which is bigger than the event timestamp
-  // (which is evaluated AFTER) it means the event is using a hi-res timestamp,
-  // and we need to use the hi-res version for event listeners as well.
+if (
+  inBrowser &&
+  window.performance &&
+  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()
 }