[英]How to remove the serviceWorker property from the navigator object?
有什么方法可以从导航器对象中完全删除serviceWorker
属性? (因此表达式('serviceWorker' in navigator)
为false。)
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
(这样做的原因是为了使更新的浏览器的行为更像旧的浏览器进行测试等)
如果要使新浏览器的行为像旧的浏览器一样进行测试,则可以定义和使用新功能:
function areServiceWorkersSupported() {
return 'serviceWorker' in navigator;
}
然后,在测试期间,您可以覆盖该函数。
navigator.serviceWorker
是只读属性,因此不可更改,请检查此链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.