firefox version: 58.0
在firefox控制台中输入navigator.serviceWorker
,然后点击ServiceWorkerContainer
展开它。
并收到错误:TypeError: 'get ready' called on an object that does not implement interface ServiceWorkerContainer.
这是什么意思?它是一个火狐虫吗?
答案 0 :(得分:1)
可能不是一个错误,但它很有趣。
当devtools尝试扩展它时,除了访问navigator.serviceWorker
自己的属性之外,它还尝试访问其原型的属性(在devtools中显示特定于浏览器的{{1属性名称)。显然,在这样做的时候,它给出的__proto__
不是this
(我的猜测是原型对象本身,例如navigator.serviceWorker
),以及{{1}的实现期望在原型上调用getter在继承对象上调用(松散地,"实例"),而不是原型本身。
如果您在Firefox控制台中执行此操作,则会收到相同的错误:
Object.getPrototypeOf(navigator.serviceWorker)
无需担心。 : - )