passive support check

2020/02/19 Javascript 共 614 字,约 2 分钟

利用property getter setter

let passiveSupported = false
try {
  document.body.addEventListener('__passive_check__', null, Object.defineProperty(Object.create(null), 'passive', {
    get: function() {
      passiveSupported = true
    }
  }))
} catch(ignore) {
  // ignore
}

利用Object property get

let passiveSupported = false
try {
  document.body.addEventListener('__passive_check__', null, {
    get passive() {
      passiveSupported = true
      return false
    },
    once: true,
  })
} catch(ignore) {
  // ignore
}

利用Object.prototype

let passiveSupported = false
try {
  document.body.addEventListener('__passive_check__', null, Object.create({
    get passive() {
      passiveSupported = true
      return false
    },
    once: true,
  }))
} catch(ignore) {
  // ignore
}

Search

    Table of Contents