【发布时间】:2016-10-10 17:14:10
【问题描述】:
我找到了https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/onerror,上面写着:
ServiceWorkerContainer 接口的 onerror 属性是一个 每当关联中发生错误事件时触发事件处理程序 服务人员。
但是我无法在 Chrome (v51) 中使用它。在主应用程序的范围内,我从控制台运行了以下代码:
navigator.serviceWorker.onerror = function(e) { console.log('some identifiable string' + e); };
然后在主动服务工作者的范围内我触发了一个任意错误:
f(); // f is undefined
结果是通常的“Uncaught ReferenceError: f is not defined(...)”错误消息,但它没有通过我的全局 onerror 处理程序记录。
MDN 页面说 Chrome 从 v40 开始就支持这个 API,但是 navigator.serviceWorker.onerror 最初是未定义的,这让我相信它没有实现。有谁熟悉这个吗?
【问题讨论】:
-
"initially undefined" - 你的意思是它的值确实是
undefined(这是合理的),还是该属性根本不存在?跨度> -
@Bergi 它的值为
undefined,这让我觉得很不寻常,因为 window.onerror 最初是null。编辑:我仔细检查过,属性也不存在'onerror' in navigator.serviceWorker // false
标签: javascript google-chrome service-worker