Basic info:
Since I migrated for the new version jsdom, looks like I can't delete window.onpagehide since is a property of his prototype.
- Node.js version: v8.9.4
- jsdom version: 11.6.2
Minimal reproduction case
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
console.log(Object.getOwnPropertyDescriptor(window, "onpagehide")); // undefined
console.log("before", window.onpagehide); // null
console.log(delete window.onpagehide); // true
console.log("after", window.onpagehide); // null
How does similar code behave in browsers?
// Mac 10.11.6 (15G1421)
// in Chrome Version 63.0.3239.84 (Official Build) (64-bit)
console.log(Object.getOwnPropertyDescriptor(window, "onpagehide")); // {get: ƒ, set: ƒ, enumerable: true, configurable: true}
console.log("before", window.onpagehide); // null
console.log(delete window.onpagehide); // true
console.log("after", window.onpagehide); // undefined
Basic info:
Since I migrated for the new version jsdom, looks like I can't delete window.onpagehide since is a property of his prototype.
Minimal reproduction case
How does similar code behave in browsers?