gpt4 book ai didi

javascript - 如何从导航器对象中删除 serviceWorker 属性?

转载 作者:行者123 更新时间:2023-11-29 19:15:12 25 4
gpt4 key购买 nike

有什么方法可以从 navigator 对象中完全删除 serviceWorker 属性吗? (因此表达式 ('serviceWorker' in navigator) 为 false。)

删除 不起作用:

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;
}

然后,在测试期间,您可以覆盖该函数。

关于javascript - 如何从导航器对象中删除 serviceWorker 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35890425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com