Есть ли способ полностью удалить свойство serviceWorker
из объекта навигатора? (. Так что выражение ('serviceWorker' in navigator)
ложно)Как удалить свойство службыWorker из объекта навигатора?
delete
не работает:
delete navigator.serviceWorker;
'serviceWorker' in navigator; // true
Присвоение undefined
ничего не делает (даже если это было достаточно):
navigator.serviceWorker = null;
'serviceWorker' in navigator; // true
navigator.serviceWorker === null; // false
Object.defineProperty
также не работает:
Object.defineProperty(navigator, "serviceWorker", {
configurable: true,
value: undefined
});
'serviceWorker' in navigator; // true
navigator.serviceWorker === undefined; // true
(Причина, чтобы сделать это, чтобы сделать новые браузеры ведут себя более как более старые браузеры для тестирования и т.д.)
Любопытно, что он * настраивается с помощью 'Object. *' Методов - вы можете установить свойство так, как хотите, вы просто не можете его удалить. – mjs