TypeError: 'get ready' called on an object that does not implement interface ServiceWorkerContainer. on expanding navigator.serviceWorker object
TypeError: 'get ready' called on an object that does not implement interface ServiceWorkerContainer. on expanding navigator.serviceWorker object
firefox version: 58.0
在 firefox 控制台中输入 navigator.serviceWorker
,然后单击 ServiceWorkerContainer
将其展开。
并得到一个错误:TypeError: 'get ready' called on an object that does not implement interface ServiceWorkerContainer.
这是什么意思?它是 Firefox 的错误吗?
可能不是错误,但很有趣。
当 devtools 尝试扩展它时,除了访问 navigator.serviceWorker
自己的属性外,它还尝试访问其原型的属性(在 devtools 中显示为特定于浏览器的 __proto__
属性姓名)。显然,这样做时,它给出的 this
不是 navigator.serviceWorker
(我猜它是原型对象本身,例如 Object.getPrototypeOf(navigator.serviceWorker)
),ready
的实现原型上的 getter 期望在继承对象(松散地,"instance")上调用,而不是原型本身。
如果您在 Firefox 控制台中这样做,您会得到同样的错误:
Object.getPrototypeOf(navigator.serviceWorker).ready
没什么好担心的。 :-)
firefox version: 58.0
在 firefox 控制台中输入 navigator.serviceWorker
,然后单击 ServiceWorkerContainer
将其展开。
并得到一个错误:TypeError: 'get ready' called on an object that does not implement interface ServiceWorkerContainer.
这是什么意思?它是 Firefox 的错误吗?
可能不是错误,但很有趣。
当 devtools 尝试扩展它时,除了访问 navigator.serviceWorker
自己的属性外,它还尝试访问其原型的属性(在 devtools 中显示为特定于浏览器的 __proto__
属性姓名)。显然,这样做时,它给出的 this
不是 navigator.serviceWorker
(我猜它是原型对象本身,例如 Object.getPrototypeOf(navigator.serviceWorker)
),ready
的实现原型上的 getter 期望在继承对象(松散地,"instance")上调用,而不是原型本身。
如果您在 Firefox 控制台中这样做,您会得到同样的错误:
Object.getPrototypeOf(navigator.serviceWorker).ready
没什么好担心的。 :-)