利用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
}